Составные поля в поиске - PullRequest
0 голосов
/ 16 июня 2019

Я пытаюсь получить имя и фамилию из связанной таблицы

Я пытался использовать метод доступа к связанной таблице, который отлично работает при загрузке страницы и для добавления / редактирования, но при поискеон показывает ошибку

Column not found: 1054 Unknown column 'FullName' in 'where clause'

Этот столбец явно не существует.

Итак, у меня есть это в моей связанной модели

    {
        return $this->attributes['first_name'] . ' ' . $this->attributes['last_name'];
    }

Ипод Контроллером Backpack Crud у меня есть

   $this->crud->addColumn([ // n-n relationship (with pivot table)
            'label' => 'Account', // Table column heading
            'type' => 'select',
            'name' => 'user_id', // the method that defines the relationship in your Model
            'entity' => 'user', // the method that defines the relationship in your Model
            'attribute' => 'FullName', // foreign key attribute that is shown to user
            'model' => "App\Models\BackpackUser", // foreign key model

        ]);

Где я делаю ошибку, ввод будет очень признателен.

1 Ответ

1 голос
/ 20 июня 2019

Для этого нужен реальный столбец.

Вы можете использовать представление (как вы уже делаете) или столбец model_function, чтобы отформатировать значение ячейки таблицы в вашем классе модели - https://backpackforlaravel.com/docs/3.5/crud-columns#model_function

Просто посмотрите, что для вас проще.

Примечание : если упорядочивание или поиск не работают должным образом, см. https://backpackforlaravel.com/docs/3.5/crud-columns#custom-search-logic-for-columns и https://backpackforlaravel.com/docs/3.5/crud-columns#custom-order-logic-for-columns

...