Как мне суммировать количество с одинаковыми cycle_id, type и user_id из таблицы feeds
, а сумма количества, cycle_id, type и user_id будет передана в таблицу inventories
?
feeds
таблица
$table->increments('id');
$table->date('date_input');
$table->string('delivery_number');
$table->string('type');
$table->integer('quantity');
$table->unsignedInteger('cycle_id');
$table->unsignedInteger('user_id');
$table->timestamps();
inventories
таблица
$table->increments('id');
$table->string('type');
$table->integer('overall_quantity');
$table->unsignedInteger('cycle_id');
$table->unsignedInteger('user_id');
$table->timestamps();
Сумма количества будет передана в total_quantity.
Тип из таблицы feeds
перейдет ктип из таблицы inventories
.
Идентификатор цикла из таблицы feeds
передается в идентификатор цикла_ из таблицы inventories
.
Идентификатор пользователя из таблицы feeds
передается в идентификатор пользователя из inventories
таблица.
Если запись не существует в таблице инвентаризации, она будет создана, но когда запись существует, например, из таблицы inventories
, она добавит.
Это моякод
FeedController.php
public function store(Request $request)
{
//validate
$this->validate($request, array(
'date_input' => 'required|date',
'delivery_number' => 'required|numeric',
'type' => 'required|max:255',
'quantity' => 'required|numeric'
) );
$input= Carbon::parse($request->get('date_input'));
$cycle = Cycle::where('date_of_loading','<=',$input)
->where('date_of_harvest','>=',$input)
->first();
$cycle_id =$cycle->id ?? 0;
$feed = Feed::create([
'date_input' => request('date_input'),
'delivery_number' => request('delivery_number'),
'type' => request('type'),
'quantity' => request('quantity'),
'cycle_id' => $cycle_id,
'user_id' => Auth::id()
]);
return $feed;
$overall_quantity = Feed::where('cycle_id','=',$cycle_id)
->where('type','=',$request->get('type'))
->sum('quantity');
Inventory::firstOrCreate([
'overall_quantity' => $overall_quantity,
'type' => request('type'),
'cycle_id' => $cycle_id,
]);
}
, но он не работает Когда я добавляю данные в таблицу feeds
, таблица inventories
все еще пуста.
Новая проблема
Моя история фидов
Моя inventories
таблица
это должен быть идентификатор 1, будет 144, но он создаст новую запись.Пожалуйста, помогите