Я хочу получить идентификатор таблицы cycles
, чтобы можно было сохранить ее в таблице mortalities
.
SELECT `id` FROM `cycles`
WHERE `date_start_raise` <= request('date_input')
AND `date_end_raise` >= request('date_input')`
Преобразовано в построитель запросов Laravel:
<?php
$cycle = DB::table('cycles')->select('id')
->where('date_start_raise', '<=', request('date_input'))
->where('date_end_raise', '>=', request('date_input'))
->get();
запрос ('date_input') был от MortalityController
MortalityController.php
public function store(Request $request)
{
$this->validate($request, array(
'date_input' => 'required|date',
'number_of_mortality' => 'required|numeric',
'chicken_age' => 'required|numeric'
) );
$cycle = DB::table('cycles')->select('id')
->where('date_start_raise', '<=', request('date_input'))
->where('date_end_raise', '>=', request('date_input')) ->get();
return Mortality::create([
'date_input' => request('date_input'),
'number_of_mortality' => request('number_of_mortality'),
'chicken_age' => request('chicken_age'),
'cause_of_death' => request('cause_of_death'),
'cycle_id' => $cycle->first()->id,
'user_id' => Auth::id()
]);
}
После этого яполучено сообщение об ошибке:
«сообщение»: «SQLSTATE [22007]: недопустимый формат даты и времени: 1366 Неверное целочисленное значение:« [] »для столбца« cycle_id »в строке 1 (SQL: вставить в mortalities
(date_input
, number_of_mortality
, chicken_age
, cause_of_death
, cycle_id
, user_id
, updated_at
, created_at
) (2018-09-04, 25, 2,, [], 1, 2018-11-28 07:38:01, 2018-11-28 07:38:01)) "
Я исправил ошибку, но появилась новая ошибка
"message": "Попытка получить свойство 'id' необъекта"
Может кто-нибудь помочь мне?