Merhabalar
Araç marka modellerinin olduğu 3 adet tablom var. Kullanıcı kayıt oluştururken marka model seçerek kayıt oluşturuyor. Benim yapmak istediğim kullanıcı X markayı seçtiği zaman o markaya bağlı modeller gelmesi ve kullanıcı gelen modellerden birini seçtikten sonra o modele bağlı alt modellerin gelmesini istiyorum. Bunları nasıl veritabanından seçebilirim ve ön yüzde kullanıcıya nasıl gösterebilirim. Bana en sade şekli ile yardımcı olur musunuz?
Laravel Seçime Göre Veri Getirme
1
●118
- 02-10-2022, 23:09:57
- 03-10-2022, 11:54:26Merhaba,
Modellerin AracMarka, AracModel, AracAltModel oldugunu varsayiyorum.
AracMarka modeline relationship tanimlarsin;
public function models() { return $this->hasMany(AracModel::class); // arac_model tablonda arac_marka_id olusturmalisin, bigInt(1) }AracModel modelin icin alt modellere ulasmak icin;
public function altModels() { return $this->hasMany(AracAltModel::class); // yine ayni sekilde arac_alt_model tablonda arac_model_id olusturmalisin, bigInt(1) }View'de kullaniciya gosterirken veya controllerde kayita eristikten sonra, ornegin;
public function index(AracMarka $aracmarka, Request $request) { return $aracmarka->models; // markaya ait modellerin gelir }Controllerdan view'e gonderirken;
public function index(AracMarka $aracmarka, Request $request) { return view('index', ['aracmarka' => $aracmarka]); }Route:
Route::get('/aracmarka/{aracmarka}', [AracMarkaController::class, 'index'])->name('aracmarka.index');View'den $aracmarka->models olarak ulastiginda o markaya ait modelleri gorursun. Foreach veya forelse ile dondurursun blade view'da. Ayni sekilde Model'deki childrene (alt_modellere) bu sekilde ulasabilirsin. Ters relationship yapmak istersen (mesela model'den marka'ya ulasmak istiyorsun);
AracModel modeline;
public function marka() { return belongsTo(AracMarka::class); }Daha fazla bilgi sahibi olmak istersen relationship dokumantasyonunu inceleyebilirsin: https://laravel.com/docs/9.x/eloquent-relationships