У меня есть три стола, номера , номера и гостиничные_ номера .
В комнатах у меня есть поля id и room_name, а также поля для создания / изменения меток времени и другие поля настроек.
Третья таблица - это таблица внешних ссылок, с двумя hostingod__id и room_id полей.
Как объяснено здесь: https://laravel.com/docs/5.7/eloquent-relationships#many-to-many Я явно настраиваю метод номеров в своей модели размещения:
public function rooms()
{
return $this->belongsToMany('App\Models\Room', 'accomodation_rooms', 'accomodation_id', 'room_id');
}
Затем я пытаюсьнастроить поле следующим образом:
$room = [
[ // Select2Multiple = n-n relationship (with pivot table)
'label' => "Rooms",
'type' => 'select2_multiple',
'name' => 'rooms', // the method that defines the relationship in your Model
'entity' => 'rooms', // the method that defines the relationship in your Model
'attribute' => 'room_name', // foreign key attribute that is shown to user
'model' => "App\Models\Rooms", // foreign key model
'pivot' => true, // on create&update, do you need to add/delete pivot table entries?
]
];
$this->crud->addField($room);
Но я получаю следующую ошибку на vendor / backpack / crud / src / PanelTraits / Fields.php, строка 37:
Undefinedindex: name
где у меня есть этот код:
// if the label is missing, we should set it
if (! isset($completeFieldsArray['label'])) {
$completeFieldsArray['label'] = mb_ucfirst(str_replace('_', ' ', $completeFieldsArray['name']));
}
Пожалуйста, помогите.
Laravel 5,7, backpackforlaravel 3.5.