Как сохранить данные от выбора в рюкзаке? - PullRequest
0 голосов
/ 13 февраля 2019

Я покупаю коммерческую лицензию Backpack.И сначала я развиваюсь в местном.Мне нужна помощь с выбором поля.У меня есть две таблицы Company и Products.Я создал crud для компании, просто имя и идентификатор.Но в Crud for Products есть два поля: выберите поле Company и название.Я могу выбрать компанию в поле выбора, но не сохраняю в базе данных. Ошибка: поле компании обязательно.Я пытаюсь удалить требуемый при проверке, но в Sql есть ошибка: Не по умолчанию.

Можете ли вы сказать мне, пожалуйста?Где я могу найти дозировку или решение?

Спасибо.

Модели \ Ofertas

    class Oferta extends Model
{
    use CrudTrait;

    /*
    |--------------------------------------------------------------------------
    | GLOBAL VARIABLES
    |--------------------------------------------------------------------------
    */

    protected $table = 'ofertas';
    // protected $primaryKey = 'id';
    public $timestamps = true;
    // protected $guarded = ['id'];
    protected $fillable = ['company', 'producto'];
    // protected $hidden = [];
    // protected $dates = [];
/*
    |--------------------------------------------------------------------------
    | RELATIONS
    |--------------------------------------------------------------------------
    */
    /**
     * Get the Company for the Ofertas.
     */
    public function company(){
        return $this->belongsTo('App\Models\Company');
    }

OfertaCrudController

// Fields
        $this->crud->addField([  // Select
            'label' => "Compañia",
            'type' => 'select',
            'name' => 'company_id', // the db column for the foreign key
            'entity' => 'company', // the method that defines the relationship in your Model
            'attribute' => 'name', // foreign key attribute that is shown to user
            'model' => "App\Models\Company",

            // optional
            'options'   => (function ($query) {
                 return $query->get();
             }), // force the related options to be a custom query, instead of all(); you can use this to filter the results show in the select
         ]);

        $this->crud->addField(['name' => 'producto', 'type' => 'text', 'label' => 'Producto']);

        // add asterisk for fields that are required in OfertaRequest
        $this->crud->setRequiredFields(StoreRequest::class, 'create');
        $this->crud->setRequiredFields(UpdateRequest::class, 'edit');

Модельная компания

class Company extends Model
{
    use CrudTrait;

    /*
    |--------------------------------------------------------------------------
    | GLOBAL VARIABLES
    |--------------------------------------------------------------------------
    */

    protected $table = 'companies';
    // protected $primaryKey = 'id';
    public $timestamps = true;
    // protected $guarded = ['id'];
    protected $fillable = ['name'];
    // protected $hidden = [];
    // protected $dates = [];

    /*
    |--------------------------------------------------------------------------
    | FUNCTIONS
    |--------------------------------------------------------------------------
    */

    /*
    |--------------------------------------------------------------------------
    | RELATIONS
    |--------------------------------------------------------------------------
    */
    /**
     * Get the ofertas for the Company.
     */
    public function ofertas()
    {
        return $this->hasOne('App\Models\Oferta');
    }

/ *

CompanyCrudController | -------------------------------------------------------------------------- |Конфигурация CrudPanel | -------------------------------------------------------------------------- * /

    // TODO: remove setFromDb() and manually define Fields and Columns
    //$this->crud->setFromDb();

    // Columns
    $this->crud->addColumn(['name' => 'name', 'type' => 'text', 'label' => 'Nombre']);

    // Fields
    $this->crud->addField(['name' => 'name', 'type' => 'text', 'label' => 'Nombre']);

    // add asterisk for fields that are required in CompanyRequest
    $this->crud->setRequiredFields(StoreRequest::class, 'create');
    $this->crud->setRequiredFields(UpdateRequest::class, 'edit');
}
...