gpt4 book ai didi

Laravel 5 Eloquent 范围连接并选择特定列

转载 作者:行者123 更新时间:2023-12-04 03:11:19 24 4
gpt4 key购买 nike

我有一个 Eloquent 模型,在模型中我使用范围查询进行连接。这一切正常,但我试图弄清楚如何在范围查询中仅从连接表中选择某些列。

这是我的 Controller 中的方法。

$accounts = Account::creator()->get();

这是模型中的范围查询
public function scopeCreator($query) {
$query->leftJoin('users','users.id','=','accounts.creator_id');
}

这有效,但它返回 全部 来自帐户和用户的列,但我只想要来自帐户的所有列和来自用户的 2 列。

我试过这个...
public function scopeCreator($query) {
$query->leftJoin('users','users.id','=','accounts.creator_id')->select(array('id','user_name'));
}

但是,这仅从用户返回这 2 个字段,并忽略帐户中的列。我知道如何用 2 个不同的模型来做到这一点,但这意味着我必须创建一个无用的模型。如果我能弄清楚这部分,这个范围查询功能就很棒。

最佳答案

你可以试试这个:

->select('accounts.*', 'users.id as uid','users.user_name');

关于Laravel 5 Eloquent 范围连接并选择特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28908475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com