Laravel-渴望从模型中加载时获取列名

时间:2019-05-01 11:35:37

标签: laravel eloquent

在模型中指定了紧急加载后,如何获取列名?

这是我要执行的操作的一个示例,但它不起作用。我似乎无法从渠道模型中选择任何列。

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

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

但是,如果我这样做,我将从交易和渠道中获得一切,因此关系就可以正常工作了。

$query = Transaction::limit(5);

return $query->get();

交易模型

protected $with = ['channel'];

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

渠道模型

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

3 个答案:

答案 0 :(得分:0)

    $query = Transaction::with(['channels' => function($query){
             $query->select('you', 'colums')
    });

您可以像这样在“关系”中使用“选择”。

答案 1 :(得分:0)

在渠道模型中添加选择为

data <- readBin(to.read, integer(), size = 1, n = 784, endian="big")

答案 2 :(得分:0)

根据有关急切加载的文档:

When using this feature, you should always include the id column and any relevant foreign key columns

尝试:

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

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