草庐IT

eloquent

全部标签

php - 无法使用 Eloquent 在 Laravel 中删除模型

我正在尝试使用->delete()通过关联模型删除数据库条目,但该条目未被删除。我尝试将表单从POST更改为DELETE,但这没有任何区别。围绕SO的研究也没有产生任何结果。我希望避免使用Model::destroy($ids),这似乎有效。路由方法://DeleteanassetpublicfunctiongetDelete($id){//Trytofindtheasset,throwexceptionifnotfound$asset=Asset::findOrFail($id);$this->layout->title='Deleteanasset';$this->layout->

php - 查询 Laravel Eloquent 多对多,其中所有 id 都相等

我创建了一个基于Laravel的项目,并拥有以下表:companies、attributes和attribute_company相关的多对多关系attribute_company用作连接companies和attributes表的数据透视表。我从客户端获得了一组attribute_id,我需要获得完全具有所有属性的公司的结果。我找到的唯一解决方案是像这样在内部查询whereHas和whereIn:Company::whereHas('attributes',function(Builder$query)use($atts_ids){$query->whereIn('attribute_

php - 具有 Eloquent 关系的空对象模式

通常情况下,某个Eloquent模型的关系未设置(即在books表中,author_id为null),因此调用$model->relation之类的东西会返回null。例如假设一个Book模型有一个author()(hasOne)关系,我可能想这样做$author=Book::find(1)->author->name;如果第1本书没有作者集,它将抛出“试图获取非对象的属性”错误。有没有办法避免这种情况并默认为空白Author所以我总是能够调用name无论是否已为特定设置关系型号?本质上,我想避免在调用进一步的方法/属性之前检查$book->author是否是实际的Author的条件。

php - 拉维尔 5.8 : Display eloquent items sorted based on timestamp

我不确定,这是怎么称呼的,所以我会尽可能详细地解释它。我有一个票务系统,我在一个部分中显示所有评论。在不同的部分,我显示相关信息,如“支持者已更改”、“票证标题已更改”、“票证状态已更改”等。当前呈现(无样式)HTML:https://jsfiddle.net/2afzxhd8/我想将这两个部分合并为一个部分,那些相关信息显示在工单的评论之间。所有内容(评论+相关信息)都应根据created_at时间戳排序显示。呈现的新目标(无样式)HTML:https://jsfiddle.net/4osL9k0n/就我而言,工单系统具有这些相关的Eloquent模型(和表格):belongsTo(

php - 在 Laravel Eloquent 模型中,我们是否使用 camelCase 调用表字段名称,即使它们在数据库中包含下划线?

在数据库中,假设我在我的用户表中有这些字段:name、favorite_color、created_at等...使用Eloquent保存:1:$user=newUser;$user->name="John";$user->favorite_color='blue';//Noticetheunderscore$user->save();2:$user=newUser;$user->name="John";$user->favoriteColor='blue';//camelCase$user->save();以上哪一项是正确的? 最佳答案

php - 多次调用 Eloquent 动态属性会多次访问数据库吗?

http://laravel.com/docs/4.2/eloquent#dynamic-propertiesclassPhoneextendsEloquent{publicfunctionuser(){return$this->belongsTo('User');}}$phone=Phone::find(1);现在,如果我做这样的事情:echo$phone->user->email;echo$phone->user->name;echo$phone->user->nickname;每次我使用->user动态属性时,Eloquent都会调用数据库吗?或者这是否足够聪明以在第一次调用时缓

php - Eloquent 第一个 where 子句

我想知道Laravel如何实现Eloquent语法,以便可以使用User::where()静态调用第一个where子句User::where('id',23)->where('email',$email)->first();他们是否有一个publicstaticfunctionwhere()和一个publicfunctionwhere() 最佳答案 调用where在Eloquent模型上确实涉及到幕后发生的一些魔法。首先举个例子:User::where(’name’,‘Joe’)->first;没有静态whereModel上存在的方

php - Laravel Eloquent 和多重连接

我了解如何使用Eloquent进行基本查询和关系,但在根据多个表中的关系选择信息时,我开始感到困惑。例如,我可以使用查询生成器从数据库中获取我需要的数据,如下所示:$data['products']=DB::table('product')->select('product.id','product.ref_num','productdetails.name')->join('productdetails',function($join){$join->on('product.id','=','productdetails.product_id')->where('productdet

php - 在 Laravel 中保存模型时直接设置 ID 和设置 Eloquent 关联关系的区别?

我有两个表,employees和employeetypes。employees有以下字段身份证(主键)employee_type_id(FK)姓名和employee_type有以下字段,身份证(主键)标题我Eloquent模型功能是,员工classEmployeeextendsModel{publicfunctionemployeeTypes(){return$this->belongsTo('App\Model\EmployeeType');}}员工类型classEmployeeTypeextendsModel{}我不确定这是否是保持关系的正确方式。插入时我可以遵循这两种方法:1.设

php - Laravel Eloquent ORM - 嵌套语句

所以我正在为我正在创建的Web应用程序创建一个API,并且我试图将它保留在EloquentORM中。我有一段亲子关系:用户->站点日志->站点站点类代码:classSiteextendsModel{publicfunctionlog(){return$this->hasMany('App\SiteLog','site_id','id');}}SiteLog类代码:classSiteLogextendsModel{publicfunctionsite(){return$this->belongsTo('App\Site','site_id','id');}publicfunctionus