我在最新版本的Laravel 6上安装了背包。
在运行此命令作为测试时:
php artisan make:migration:schema create_posts_table --schema="user_id:unsignedInteger:foreign,
name:string, slug:string, description:text, keywords:string:nullable"
该命令在Models / Post中创建了一个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
我的问题“我认为”与“'实体'=>'backpackuser',”有关
据我了解,我需要在此处添加关联方法,但我不明白的是,背包在运行第一个命令时未创建它,这正常吗?
而且,我应该使用哪种模型将用户详细信息传递到选择字段?App / User或App / Models / BackpackUser?
谢谢。