gpt4 book ai didi

Laravel - 从模型急切加载时获取列名

转载 作者:行者123 更新时间:2023-12-01 08:11:54 27 4
gpt4 key购买 nike

当模型中指定了预先加载时,如何获取列名?

这是我正在尝试做但不起作用的示例。我似乎无法从 channel 模型中选择任何列。

$query = Transaction::select('id', 'processing_time', 'uniqueId', 'paymentType', 'status', 'channel:uuid');

return $query->take(5)->get();

但是,如果我这样做,我会从交易和 channel 获得所有信息,因此关系就在那里并且有效。

$query = Transaction::limit(5);

return $query->get();

交易模型

protected $with = ['channel'];

public function channel() {
return $this->belongsTo(Channel::class, 'entityId', 'uuid');
}

channel 模型

public function transactions() {
return $this->hasMany('App\Transaction', 'entityId', 'uuid');
}

最佳答案

根据关于预加载的文档:

使用此功能时,您应该始终包括 id 列和任何相关的外键列

尝试:

$query = Transaction::select('id', etc.., 'channel:id,uuid');

或者

$query = Transaction::select('id', etc..)->with('channel:id,uuid');

关于Laravel - 从模型急切加载时获取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55935632/

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