急切加载时,关系后的冒号后跟两个列名有啥作用?
Posted
技术标签:
【中文标题】急切加载时,关系后的冒号后跟两个列名有啥作用?【英文标题】:What does a colon followed by two column names after a relationship do when eager loading?急切加载时,关系后的冒号后跟两个列名有什么作用? 【发布时间】:2021-03-25 07:44:55 【问题描述】:在为我处理 Datatables 的问题寻找解决方案时,我发现了这个有趣的语法,但我在 Laravel 文档中找不到任何东西来帮助我理解发生了什么,但我想了解它的可用性。
这是代码sn-p:
return $model->select('sessions.*')
->with('employee:id,name');
【问题讨论】:
【参考方案1】:文档中有提到:https://laravel.com/docs/8.x/eloquent-relationships#eager-loading-specific-columns
您可能并不总是需要您正在检索的关系中的每一列。因此,Eloquent 允许您指定要检索的关系的哪些列:
$books = Book::with('author:id,name')->get();
【讨论】:
这会派上用场的。谢谢你,马丁!以上是关于急切加载时,关系后的冒号后跟两个列名有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Laravel 将两个模型合并到一个分页查询中,并带有急切加载的关系
Laravel 5.4急切加载belongsToMany关系null绑定