Я установил рюкзак на последнюю версию Laravel 6.
После запуска этой команды в качестве теста:
php artisan make:migration:schema create_posts_table --schema="user_id:unsignedInteger:foreign,
name:string, slug:string, description:text, keywords:string:nullable"
Команда создала модель Post в Models / Post
Я хотел бы видеть имена пользователей из таблицы "user" в моем "post" CRUD.
Первый вопрос: я генерирую свой CRUD с:
php artisan backpack:crud post
Я вижу CRUD, в верхней части CRUD я хотел бы передать имя пользователя из таблицы User в выпадающем списке.
Я пробовал это:
protected function setupCreateOperation()
{
$this->crud->setValidation(PostRequest::class);
// TODO: remove setFromDb() and manually define Fields
//$this->crud->setFromDb();
$this->crud->setColumnDetails([
'label' => 'User', // Table column heading
'type' => 'select',
'name' => 'user_id', // the column that contains the ID of that connected entity;
'entity' => 'backpackuser', // the method that defines the relationship in your Model
'attribute' => 'name', // foreign key attribute that is shown to user
'model' => 'App\Models\backpackuser' // foreign key model
]);
}
Но яполучаю ошибку:
Symfony\Component\Debug\Exception\FatalThrowableError
Too few arguments to function Backpack\CRUD\app\Library\CrudPanel\CrudPanel::setColumnDetails(), 1
passed in C:\laragon\www\backpack\app\Http\Controllers\Admin\PostCrudController.php on line 41 and
exactly 2 expected
Моя проблема "Я думаю" связана с "entity" => backpackuser ",
Из того, что я понимаю, мне нужно добавить отношениеметод здесь, но я не понимаю, что Backpack не создал его при запуске первой команды, это нормально?
Кроме того, какую модель я должен использовать, чтобы передать пользовательские данные в поле выбора? Приложение / Пользователь или Приложение / Модели / BackpackUser?
Спасибо.