@fegedij392

Как добавить на страницу данные в динамический список из другого контроллера?

Помогите новичку разобраться,
есть страница с контроллером добавления товара,
Route::post('order-add', 'admin\OrdersController@addorder')->name('order-add');
Route::get('order-add', function () {
return view('cont.order-add');
})->name('order-add');

и вторая страница с контроллером списка складов,
Route::get('warehouses', 'admin\WarehousesController@warehouseslist');

контроллер товара OrdersController
public function addorder(OrdersRequest $addord)
{
$addorder = new Orders();
$addorder->shop = $addord->input('shop');
$addorder->product = $addord->input('product');
$addorder->price = $addord->input('price');
$addorder->warehouses = $addord->input('warehouses'); //эта строка отвечает сейчас за название склада, прописываю в поле в ручную
$addorder->save();

return redirect('/orders')->with('success', 'Ордер Добавлен!');
}

контроллер склада WarehousesController
public function addwarehouses(WarehousesRequest $addwrk)
{
$addWarehouses = new Warehouses();
$addWarehouses->name = $addwrk->input('name'); //вот это я прописываю в ручную при добавлении товара а должно быть выпадающим списком
$addWarehouses->address = $addwrk->input('address');
$addWarehouses->phone = $addwrk->input('phone');
$addWarehouses->email = $addwrk->input('email');
$addWarehouses->comment = $addwrk->input('comment');
$addWarehouses->save();

return redirect("Control-Panel")->with('success', 'Склад Добавлен!');
}

как мне привязать на страницу добавления товара выпадающий список названий складов из контроллера складов?

вот так выводил на отдельной странице товары с определённым статусом
public function ordernew()
    {
         $addorder = new Orders;
         return view('cont.order-new', ['allorder' => $addorder->where('status', '=', 'New')->get()]);
    }


и также могу сортировать по складу выбранном в ручную если выпадающий список сделать так
<select name="">
<option>Выберите склад</option>
<option value="склад 1">склад 1</option>
<option value="склад 2">склад 2</option>
<option value="склад 3">склад 3</option>
</select>


но надо чтоб имя склада было динамическим потому что часто меняются и каждый раз прописывать имя в коде не удобно.
а так я в админке добавил склад и добавляю в него товары.

Спасибо за помощь!
  • Вопрос задан
  • 170 просмотров
Решения вопроса 1
В контроллере OrdersController в методе addorder получаешь коллекцию складов:
$склады = ТаблицаСкладов::all();
Потом передаешь ее в шаблон добавления товара:
return view('шаблон', compact('склады');
В шаблоне делаешь выпадающий список
<select name="">
<option>Выберите склад</option>
@foreach($склады as $склад) 
<option value="{{ $склад->идентификатор }}">{{ $склад->название }}</option>
@endforeach
</select>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы