例如,我需要采用" id "使用它来搜索我的模型文章,但是这个值(id)也出现在URL中:" / article / 4 / edit"并在" setColumns"参数,我不知道如何获得它。
我需要你的帮助。 这是我的示例代码:
ArticleCrudController.php
public function __construct()
{
parent::__construct();
$this->crud->setModel('App\Models\Article');
$this->crud->setRoute("admin/article");
$this->crud->setEntityNameStrings('article', 'articles');
$this->crud->setColumns(['id', 'title', 'text']);
// WHERE ARE YOU ID?!?!!!
$article = Article::findOrFail($id);
$pictures = $article->picture()->first()->name;
$this->crud->addFields([
[
'name' => 'title',
'label' => 'Title',
'type' => 'Text'
],
[
'name' => 'text',
'label' => 'Text',
'type' => 'ckeditor'
],
[ // Browse
'name' => 'image',
'label' => 'Article immage',
'type' => 'browse',
'value' => $pictures //Obviously without id don't work :'(
]
]);
}
答案 0 :(得分:3)
您可以尝试覆盖作为第一个参数传递id的CrudController::edit
方法。
public function edit($id)
{
$articlePicture = Article::findOrFail($id)->picture()->first()->name;
$this->crud->addField([
'name' => 'image',
'value' => $articlePicture
]);
return parent::edit($id);
}
这可能是一个解决方案,但我不确定这是做正题的正确方法。
答案 1 :(得分:0)
使用时应使用getCurrentEntry来获取Crud中的当前模型对象
$article_id = $this->crud->getCurrentEntry()->id;