Невозможно отобразить другой столбец из отношений на Laravel 9 + Backpack
Итак, у меня есть таблица со счетами...
У меня есть стол с клиентами...
Я определил в своей модели счетов следующие отношения
public function client_id()
{
return $this->belongsTo(Client::class, 'client_id', 'client_id');
}
... и я определил в своей модели клиентов следующие отношения
public function invoice() {
return $this->hasMany(Invoice::class, 'client_id');
}
Моя проблема в том, что я не могу найти, как я могу отобразить название компании для компании, которой был выставлен счет.
Я просмотрел документацию https://backpackforlaravel.com/docs/5.x/crud-columns#relationship-pro, но не могу заставить ее работать.
CRUD::addColumn([
// any type of relationship
'name' => 'client_id', // name of relationship method in the model
'type' => 'relationship',
'label' => 'Client name', // Table column heading
// OPTIONAL
'entity' => 'client_id', // the method that defines the relationship in your Model
'attribute' => 'client_company', // foreign key attribute that is shown to user
'model' => \App\Models\Client::class, // foreign key model
]);
Я предполагаю, что делаю что-то не так. Есть ли шанс, что я могу получить фрагмент?
Спасибо, Джордж
Во-первых, это должно быть:
public function client()
{
return $this->belongsTo(Client::class, 'client_id', 'client_id');
}
Второй:
CRUD::addColumn([
// any type of relationship
'name' => 'client', // name of relationship method in the model
'type' => 'relationship',
'label' => 'Client name', // Table column heading
]);
Работал отлично. Извините за боль, но я пробовал это раньше, единственное имя метода отличия в модели счета-фактуры было client_id. Это все еще просто название метода, он не должен работать? Спасибо