Ben Laravel'i öğreniyorum, 5.22 üzerinde çalışıyorum. İki kaydı iki tabloya kaydetmeye çalışıyorum, ancak her iki cephede de başarı varsa sadece değişiklikleri gerçekleştireceğim, aksi takdirde başarısız ve geri çekilmesini istiyorum. Şimdi kazanınLaravel 5.2 birden fazla db işlemi yürütür, sonra da başarısız olur ya da geri dönüş yaparsa
Benim Kontrolörü kodudur:
public function store(Request $request)
{
$all = $request->all();
// we need to fill in who is the creator of this new user,
$all['creator_user_id'] = Auth::user()->id;
// Commit both updates or fail and rollback
DB::transaction(function ($all) {
$client = Client::create($all);
$orgClient['organisation_id'] = $client->organisation_id;
$orgClient['client_id'] = $client->client_id;
OrganisationClient::create($orgClient);
});
return redirect()
->route('client.index')
->withMessage([
'type' => 'success',
'value' => 'Client <strong>' . $all->client_name . '</strong> successfully created.']);
}
Bu hata ile başarısız:
Type error: Argument 1 passed to Illuminate\Database\Eloquent\Model::create() must be of the type array, object given, called in /home/vagrant/Code/simply-invoice/app/Http/Controllers/ClientController.php on line 80
Benim sorunum kapatılması $all
geçiyor gibi görünüyor. $all
'u kapatma parametresinden kaldırırsam, undefined variable all
'u alırım. Bunu nasıl yaparım? Teşekkürler!
Teşekkür @Roj Vroemen, başka bugün için öğrenme! – TheRealPapa