#php #laravel-5.7
#php #laravel-5.7
Вопрос:
Я работаю над проектом с использованием laravel. Одной из функций сайта является сохранение данных из динамического ввода с четырьмя данными; MObjective, MOutput, year и kra_id, которые должны быть сохранены в базе данных
я пытался использовать этот код для сохранения; «‘ $objectives = $request->all();
foreach ($objectives as $key) {
// dd($input);
$input = objective::create(array(
'MObjective' => $objectives->MObjective[$key],
'MOutput' => $objectives->MOutput[$key],
'year' => $objectives->year,
'kra_id' => $objectives->kra_id
));
}
»’
Я также пытался использовать цикл for, однако я получил некоторую ошибку, например; Попытка получить свойство ‘MObjective’ не-объекта
это контроллер may;
$objectives = $request->all();
foreach ($objectives as $key) {
// dd($input);
$input = objective::create(array(
'MObjective' => $objectives->MObjective[$key],
'MOutput' => $objectives->MOutput[$key],
'year' => $objectives->year,
'kra_id' => $objectives->kra_id
));
}
мой блейд-файл;
<form method="POST" action="{{action('ObjectiveController@store')}}">
{{csrf_field()}}
<div class="form-group">
<input type="hidden" name="year" id="year" value="{{now()->year}}" class="form-control">
<input type="hidden" class="form-control" id="kra_id" name="kra_id">
</div>
<div class="form-group">
<label for="message-text" class="col-form-label">Major Objective:</label>
<textarea class="form-control" id="MObjective" name="MObjective"></textarea>
</div>
<div class="form-group">
<label for="message-text" class="col-form-label">Major Output:</label>
<textarea class="form-control" id="MajorOutput" name="MOutput"></textarea>
</div>
<div class="modal-footer">
<b><i>Note:</i></b>
<small>Add Major Objective and Output for selected KRA only</small>
<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-success">Add</button>
</div>
</form>
мой скрипт
«‘
var i=0;
$('.addRow').on('click', function(){
i ;
addRow();
});
function addRow()
{
var tr='<div class="row">' '<div class="col-6"><textarea type="text" class="form-control" placeholder="Enter the Major Objective no. ' i ' "name="MObjective[' i ']"></textarea></div>'
'<div class="col-6"><textarea type="text" class="form-control" name="MOutput[' i ']" placeholder="Enter Major Output for the objective no. ' i '"></textarea></div>'
'</div><br>';
$('form').append(tr);
}
»’
мне просто нужно сохранить 4 данных в одной таблице БД; MObjective, MOutput, year и kra_id. Я надеюсь, что кто-нибудь сможет мне помочь. заранее благодарю вас
Ответ №1:
В вашем контроллере $ objectives должен быть массив, а не объект, если я не ошибаюсь.