php - 如何用 eloquent "with"选择特定的列

标签 php laravel eloquent laravel-4.2

有没有办法在 eloquent 中使用“with”时只选择特定的列?

我的问题是我得到了一个很长的帐户列表,我还需要使用关系“with”来获取他们的网站,但是“网站”对象很大,这使得请求非常慢。

我尝试使用:

$accounts = $accounts->with('websites')->select(['account_id','url']);

还有:

$accounts = $accounts->with('websites', function($query) {
                $query->select(['account_id','url']);
            });

而且他们都没有工作。

我在他们的文档中没有看到这个问题的答案,所以如果有人愿意与我分享,我将不胜感激。此外,如果有一个可以给出相同结果的“with”的替代方法,那也很好。谢谢。

最佳答案

$accounts = $accounts->with([
    'websites'  => function($query) {
        $query->select(['account_id','url']);
    }
]);

关于php - 如何用 eloquent "with"选择特定的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37984758/

相关文章:

php - WordPress:为什么在 init 上初始化主类后不能使用 is_user_logged_in() ?

php preg_match 获取两个字符串之间的数字

php - 用PHP实现一个简单的查找表

Laravel - 错误:App\Exports\View 必须与 Maatwebsite\Excel\Concerns\FromView::view(): Illuminate\Contracts\View\View 兼容

laravel - 具有 HasMany 关系的过滤器模型

php - 如何在 laravel Eloquent 中将 int 转换为字符串?

php - 检查数组的每个部分是否为数字

php - 如何将 laravel 测试设置为转到站点名称而不是本地主机

mysql - 在数据库 Laravel 5.2 中插入记录的最佳、高效和专业的方式是什么

php - laravel Eloquent 一对多关系返回null