Как отобразить значение столбца отношения с рюкзаком laravel?

Невозможно отобразить другой столбец из отношений на 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
    ]);

Я предполагаю, что делаю что-то не так. Есть ли шанс, что я могу получить фрагмент?

Спасибо, Джордж

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
81
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Во-первых, это должно быть:

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. Это все еще просто название метода, он не должен работать? Спасибо

George Dobre 09.04.2023 03:37

Другие вопросы по теме