laravel - Laravel 急切加载特定列错误
问题描述
我有自定义代码,我必须从关系数据中获取特定列:
$jobs = Job::with('user:id, name')
->where('type', 0)
->where('status', 1)
->orderBy('updated_at', 'DESC')
->get();
当我运行此代码时,Laravel 向我返回错误消息:
SQLSTATE [42S22]:找不到列:1054 '字段列表'中的未知列'名称'
我该如何解决这个错误?
解决方案
它可以通过在 with() 中传递一个闭包函数作为数组的第二个索引来完成,例如
$jobs = Job::with(['user' => function($q){
$q->select('id','name');
}])->where('type', 0)
->where('status', 1)
->orderBy('updated_at', 'DESC')
->get();
推荐阅读
- angular - 订阅函数完成后,从 observable 返回 json 数组的长度
- java - 找不到符号 java.io.File?
- r - unable to update PostgreSQL table value with R's sys.time as a character using dbconnect
- javascript - javascript优化.map以传播运算符
- c++ - 使用 char 数组和 = 运算符启动字符串时调用了什么函数
- typo3 - TYPO3 - Extbase - 检测给定 FileReference 的丢失文件
- elasticsearch - 在弹性搜索 v6 中过滤后的空聚合
- java - 我的世界 java 插件中的玩家聊天事件没有做它应该做的事情
- python - 在 Python(包括 Sqlite)中,使用它作为变量从数据库中提取信息并使用它发出
- jinja2 - Jinja2 无法读取多行属性值