Laravel (livewire数据表)可以';我无法访问同一模型的两个关系

Laravel (livewire数据表)可以';我无法访问同一模型的两个关系,laravel,laravel-livewire,Laravel,Laravel Livewire,我有两个外键与同一个表相关 当我尝试将这两列添加到datatable时,所有数据只解析其中的第一列 我的代码 Column::name('from_city.name')->lable('From'), Column::name('to_city.name')->lable('To'), 城市 $table->id(); $table->string('name'); 旅行 在Trip模型中,我建立了两个关系 public function from_ctiy() {

我有两个外键与同一个表相关 当我尝试将这两列添加到datatable时,所有数据只解析其中的第一列

我的代码

Column::name('from_city.name')->lable('From'),
Column::name('to_city.name')->lable('To'),
城市

$table->id();
$table->string('name');
旅行

在Trip模型中,我建立了两个关系

public function from_ctiy()
{ return $this->belongsTo(City::class, 'from_ctiy_id'); }
public function to_ctiy()
{ return $this->belongsTo(City::class, 'to_ctiy_id'); }
工作正常,我可以正常访问这两列

$trip->from_city->name;
$trip->to_city->name;

但是当我在livewire数据表中创建列时

Column::name('from_city.name')->lable('From'),
Column::name('to_city.name')->lable('To'),
我只从两列中的第一列获取相同的数据

从…起 到 Fcity Fcity Fcity Fcity
U have to build manually the join query like below.

public function builder()
{
    return Trip::query()
        ->leftJoin('City as c1', 'from_ctiy_id', 'c1.id')
        ->leftJoin('City as c2', 'to_ctiy_id', 'c2.id');
}

public function columns()
{
    return [
        Column::name('c1.name')->label("From"),
        Column::name('c2.name')->label("To")
    ];
}