php - Laravel Eager Loading - 只加载特定的列

标签 php laravel laravel-4

我正在尝试在 laravel 中急切加载模型,但只返回某些列。我不希望呈现整个急切加载的表格。

public function car()
{
    return $this->hasOne('Car', 'id')->get(['emailid','name']);
}

我收到以下错误:

log.ERROR: 异常 'Symfony\Component\Debug\Exception\FatalErrorException' 带有消息 'Call to undefined method Illuminate\Database\Eloquent\Collection::getAndResetWheres()'

最佳答案

利用 select() 方法:

public function car() {
    return $this->hasOne('Car', 'id')->select(['owner_id', 'emailid', 'name']);
}

注意:记得添加分配给匹配两个表的外键的列。例如,在我的示例中,我假设 Owner 有一个 Car,这意味着分配给外键的列类似于 owners.id = cars .owner_id,所以我必须将 owner_id 添加到所选列的列表中;

关于php - Laravel Eager Loading - 只加载特定的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16994253/

相关文章:

php - 按条件搜索,使用elastica给出空结果

javascript - 更改具有相同 ID 的按钮值

php - MySQL 全文搜索不适用于电子邮件地址

php - 在共享主机上部署时解析错误(Laravel 4)

php - 优化查询——急切加载占用太多内存

java - 我的网站是基于 Java Server Pages (JSP) 构建的 - 我还可以使用 Joomla 吗?

PHP 通过 json_encode() 打印 mysql 数据

jquery - 根据第一个ajax函数的输入触发第二个ajax函数

javascript - React - 期望进行赋值或函数调用,但却看到表达式无法编译

php - session 在 Laravel 4 中不起作用