草庐IT

eloquent

全部标签

php - 类型错误:传递给 Illuminate\Database\Eloquent\Builder::create() 的参数 1 必须是数组类型,给定为 null

我正在尝试在laravelrestapi中发布标题和文章,但出现此错误Typeerror:Argument1passedtoIlluminate\Database\Eloquent\Builder::create()mustbeofthetypearray,nullgiven,calledinC:\xampp\htdocs\LaravelProject\cpapi\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.phponline1440这是我的帖子数据的route/api.php文件Route::post

php - Eloquent 将 API 属性映射到字段名称

我有一个向API发送对象的应用程序,如下所示:{id:4,foo_id:4,numberOfBars:2}Laravel后端有一个包含如下字段的数据库表:id,foo_id,number_of_bars我目前正在将APIkey映射到数组中的表名,如下所示:$map=['id'=>'id','foo_id'=>'foo_id','numberOfBars'=>'number_of_bars'];并使用它来创建新的数据负载以传递给Eloquent模型。这似乎效率低下。有没有办法在Eloquent中更有效地做到这一点?我无法创建包罗万象的方法,因为如您所见,有些键采用驼峰式命名,有些则不是。

php - 如何通过关系 Dynamic Laravel 和 Eloquent 对结果进行排序

我知道要对关系的元素进行排序,我们使用with并传递一个函数来告诉Eloquent按关系的特定列进行排序$query->with(['relation'=>function($query){$query->orderBy('columName','ASC');}]);我尝试对表之间的关系进行动态排序和过滤,因为我将relation.fieldrelation格式发送到订单或搜索,就像我从Eloquent或QueryBuilder中执行此操作一样,以便它动态地工作并且适用于任何模型和有关系吗?这个方法我有一个特点,所以它可以适用于任何模型和任何关系,但它不能正确排序和搜索,即按其字段对基

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 - Eloquent 地选择每个不同的 'id' 中的第一个?

我有一个包含字段district_id的员工表。我想要一个从每个地区选择第一个员工的查询。目前我正在手动对其进行硬编码:$tributes=[Employee::where('district_id','='1)->take(1)->get(),Employee::where('district_id','='2)->take(1)->get(),Employee::where('district_id','='3)->take(1)->get(),...];是否可以只使用一个Eloquent调用来做到这一点?有志愿者吗? 最佳答案

php - Laravel 删除可能有错误关系的多态关系

我有一个代表用户报告的模型。报表模型具有多态关系,可以包含配方或评论。目标是能够删除评论或用户,并通过Eloquent删除相关报告。使用我当前的设置(见下文)这不起作用,删除评论时报告仍然存在并导致错误,因为它现在指向不存在的评论。我做错了什么?我的多态模型是否需要“属于”关系?如果是这样,当关系可变形时,我该如何建立这种关系?模型多态模型classReportextendsModel{publicfunctionreportable(){return$this->morphTo();}publicfunctionUser(){return$this->belongsTo('App\U

php - 在观察者中聆听 Eloquent 模型事件

我无法在我的事件处理程序中找到用于监听eloquent事件的语法。我这样订阅了我的观察者Event::subscribe('Animekyun\Handlers\Events\EloquentEventHandler');这个观察者是self处理的,是这样实现的:namespaceAnimekyun\Handlers\Events;useIlluminate\Events\Dispatcher;classEloquentEventHandler{publicfunctiononEpisodeSave($event){dd('test');}publicfunctionsubscribe

php - 类型提示 Eloquent 模型

我正在尝试编写好的代码,其中一部分是类型提示,以便更轻松地完成工作并强制执行期望。这可能看起来有点做作,但对我来说更像是一个概念证明。我正在编写一个类来获取在选项卡上拆分的TSV文件并插入到我的模型中。在我的构造函数中,我要求:Illuminate\Database\Eloquent\Model我通过的:new\App\Model()最后是错误响应:instanceofApp\Modelgiven显然我做错了什么,但我不想强制使用App\Model,我怎么能笼统地要求一个Eloquent模型?编辑更多信息:为了更清楚,我使用的是Laravel5,模型是通过artisanmake:mod