簡體   English   中英

laravel 的背包 -> 我無法獲取 + 添加內聯創建

[英]Backpack for laravel -> I can't get + Add Inline Create

我想使用Backpack for Laravel 的內聯創建功能,但“添加 +”按鈕沒有顯示。

我有一對一的關系

主要型號為Inscription ,次要型號為InscriptionProduct

這是我的代碼:

型號\銘文

...
class Inscription extends Model
{
 
    public function product() {
        return $this->hasMany('App\Models\InscriptionProduct');
    }
...

型號\銘文產品

...
class InscriptionProduct extends Model
{

    public function inscription()
    {
        return $this->belongsTo(Inscription::class);
    }
...

Http\Controllers\Admin\InscriptionProductCrudController

...
class InscriptionProductCrudController extends CrudController
{
    use \Backpack\CRUD\app\Http\Controllers\Operations\ListOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\ShowOperation;

    use \Backpack\CRUD\app\Http\Controllers\Operations\InlineCreateOperation;
...

Http\Controllers\Admin\InscriptionCrudController

...
class InscriptionCrudController extends CrudController
{

    protected function setupCreateOperation()
    {
      ...
        $this->crud->addField([
            'type' => "relationship",
            'name' => 'product',
            'ajax' => true,
            'inline_create' => true,
            // 'data_source' => backpack_url('/admin/inscription-product/inline/create'),
            // 'data_source' => backpack_url('inscription/fetch/inscription-product'),
            // 'inline_create' => [ 'entity' => 'inscriptionproduct' ]
            // These 3 commented lines are alternatives also tried with no results
        ]);
...

關系構建得很好,因為我可以看到我通過 InscriptionProduct 的 CRUD 創建的產品

關系構建得很好,因為我可以看到我通過 InscriptionProduct 的 CRUD 創建的產品

我錯過了什么?

我將其解決為,在您的主 CrudController 中,您應該在 CreateOperation 下方調用 InLineCreate。

use \Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation { store as traitStore; }
use \Backpack\CRUD\app\Http\Controllers\Operations\InlineCreateOperation { store as traitStore; }

同樣在我的輔助 CrudController 中,我必須創建一個 fetch 函數,這是我所做的

  protected function fetchFeatures()
    {
        return $this->fetch([
            'model' => \App\Models\Features::class, // required
            'searchable_attributes' => ['name', 'slug'],
            'query' => function($model) {
                return $model;
            } // to filter the results that are returned
        ]);
        return $this->traitFetch();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM