草庐IT

php - Laravel,用 Eloquent 方式插入一对多关系

我有一个模型Item与points有很多关系,如下所示:publicfunctionpoints(){return$this->has_many('Point');}然后在我的Controller中,我想在用户发布Item时设置一些数据。所以我这样做:$item=newItem;$item->author=$author;$item->description='';$item->link=$link;$item->source=$url['host'];$item->title=$title;$item->url_encoded=$url;$item->save();$points=a

php - 在主表中软删除时如何关闭数据透视表删除?

我在Laravel的EloquentORM中有一个Users和一个Groups表。一个组可以有多个用户,一个用户可以在多个组,所以我用数据透视表来实现多对多的关系。实际上,这种关系不是多对多的,因为每个用户只能属于一个组,但系统就是这样设计的。我软删除了Users表中的行,因此如果需要我可以稍后恢复用户。问题是当我删除用户时,系统也会自动删除数据透视表中的条目。这始终是一个条目。我没有把它设置成这样,只是在Users模型中添加了protected$softDelete=true;行,所以我不明白为什么系统会自动删除数据透视条目。我不想软删除数据透视条目,我只想软删除用户,并且系统不应该

php - 模拟静态 Eloquent 模型方法,包括 find()

我一直在关注一般的Mockery和PHP-Unit教程-包括JeffreyWay介绍的使用PHP-Unit和Mockery测试Laravel。然而,对于这个应用程序——我们可以接受对Eloquent的依赖,而不是创建一个存储库类。我们能够很好地模拟Widget模型的实例方法。但是,我们正在使用Route:model绑定(bind),我承认我不确定在测试Controller的show($widget)方法时如何模拟模型的find()方法。我读过https://github.com/padraic/mockery/wiki#mocking-public-static-methods文档,并

php - Laravel:自定义多维数组验证

我有一个表单,用户可以一次插入多条记录。每条记录都有一个id、一个开始日期和一个结束日期。为了处理输入数据,我正在寻找验证所有这些内容的最佳方法。我至少需要一个记录对于每条输入的记录,id应该存在于另一个表中,datestart和enddate应该是有效日期,end日期应该早于开始日期所以我在这里需要某种多维数组验证...是否已经为此编写了任何自定义验证插件/代码?我已经尝试扩展Laravel验证,但我什至无法接近我想要的...我尝试过的:app/services/validators/LearningPathValidator.php(我正在使用laravel-extended-va

php - Laravel 'sometimes' 验证器因嵌套数组而失败

我正在使用LaravelValidator类对数组进行一些基本验证。我的数组:$employee['name']='name';$employee['address']='address';$employee['department']['department_name']='deptname';$employee['department']['department_address']='deptaddress';我有如下验证规则:$rules=array('name'=>'required','address'=>'required','department.department_n

php - 如何将 CKFinder 与 Laravel 集成?

我正在尝试将CKFinder与Laravel集成,我已经完成了大约95%。除了CheckAuthentication功能外,我可以让所有功能正常工作-无论上传是否正常,我都必须让它返回true。我尝试做的是在config.php文件中引导Laravel,然后检查用户是否已登录,如下所示:public/packages/ckfinder/config.php不过,这总是返回false。我也试过直接使用Laravel的Session在有人登录时将变量设置为true,在他们注销时设置为false,然后在config.php文件中检查它,但它总是返回Session::get("IsAuthor

php - 在 Laravel 中测试 Controller 的正确方法是什么?

我正在重写现有的Laravel4应用程序以确保进行充分的测试。长话短说,我已经使用TDD方法重写了我的AccountController类,但我有点头疼。考虑以下呈现包含用户列表的页面的方法:publicfunctiongetIndex(){//buildtheview//return\View::make('account.list-users')->with('users',\Sentry::getUserProvider()->findAll());}我正在使用Smarty呈现我的View并使用Sentry进行身份验证。现在,我想写一些这样的测试:publicfunctionte

php - 通过 composer 从私有(private) Bitbucket 存储库导入包

我在私有(private)Bitbucket存储库中设置了一个包,我在各种基于Laravel的客户端项目中使用它。我发现我经常向它添加内容,并希望能够根据需要使用最新版本使用composer更新每个客户的项目。如何在composer中添加一个条目以从Bitbucketgit存储库中提取数据,而不必在composer.json文件中向客户端公开我的个人存储库登录名/密码? 最佳答案 使用sshauthentication并配置一些DeploymentKeys:进入“项目设置->部署key”然后为您的每个客户端添加不同的部署key。您可

php - 元素与 xpath 未找到 codeception

我正在使用CodeCeption测试网站的工作情况。我从未使用过CodeCeption,我只是想让我的第一个测试工作。我只想登录,但我的登录框使用的是jQueryUI(这意味着登录按钮没有ID)。网址是https://moveyourmountain.org我在Chome控制台中使用了这个:$x('//button/span[text()="Login"]')得到了这样的回应:[​Login​​]所以我的xpath是正确的,并且选择了正确的东西。但是,在CodeCeption中我有这个:$I=newAcceptanceTester($scenario);$I->wantTo('Logi

php - Blade 模板未显示部分

我有这三个Blade模板在我的Controller中,我这样调用仪表板View:View::make('layouts.dashboard');ma​​ster.blade.php@yield('leftside','left-sidecontent')@yield('rightside','right-sidecontent')dashboard.blade.php@extends('layouts.master')@section('leftside')@yield('sidebar','sidebarcontent')@stopsidebar.blade.php@extends(