2016-03-13 1 views
0

Я работаю над разработкой системы приложений с Laravel 5.2. У меня есть <select> s, чтобы выбрать продукты и сообщить сумму. Он будет генерировать таблицу со списком продуктов, выбранных для приложения. Как получить эту таблицу данных в моем контроллере?Laravel 5 Запросить строки в таблице из View/Store

[обновление] Простите меня по-английски, но мой вопрос, как показано на изображении, нажав на кнопку «отправить заказ» Я могу читать <table><tr><td> с добавлением продуктов и сохранить продукты в таблице order_details ,

enter image description here

ответ

0

На самом деле, для выбора вам нужно два поля: значение (в большинстве случаев Id) и другой элемент для отображения в качестве ключа. Eloquent предоставляет полезный метод под названием «списки»: он возвращает коллекцию элементов key/value.

$model = Model::lists('key', 'value'); 

Замените поля «ключ» и «значение» на имя своего столбца. Следующий шаг - использование полученных данных в вашем представлении. У вас есть два способа решить эту часть проблемы:

  1. итерацию вручную через коллекцию Чтобы составить отборное заявление
  2. использовать вспомогательные LaravelCollective Html

La ravelCollective HTML помощник имеет много методов, которые, я уверен, вы найдете полезными в своей кодировке. Он даже включает в себя способ создания dropdowns.

+0

Большое спасибо за ответ! Я обновил свой вопрос, чтобы попытаться стать более ясным моим сомнением. –

0

Для получения информации, находящейся на этой таблице в контроллере, вам необходимо указать POST данных.

Сначала вам нужен почтовый маршрут в файле App\Http\routes.php:

Route::post('pedidos', [ 
    'as' => 'post-pedidos', 
    'uses' => '[email protected]' 
]); 

Теперь вы можете создать форму, которая будет собирать все данные, которые будут отправляться на этот маршрут. Он должен содержать таблицу, в которой ваши продукты ввода выпадающий будет генерировать:

<form method="post" action="{{ route('post-pedidos') }}"> 

    {{ csrf_field() }} 
    <table> 
     // Put table rows + input here 
    </table> 
</form> 

Теперь все, что вам нужно сделать, это убедиться, что ваши строки имеют фактические входы на них, которые будут представлены в форме. Что-то вроде этого?

<input type="hidden" name="codigo[0]" value="30628"> 
<input type="hidden" name="quantidade[0]" value="90"> 

Чтобы увидеть, что вам нужно на post метод PedidosController «s, проверить, как retrieve data from a request и как validate it перед установкой его в базу данных.

Смежные вопросы