Merhaba, yönetim panelinde Akıllı Saat kategorisinin düzenleme sayfasında üst kategorisi varsa selectlistte seçili getirmek istiyorum. yoksa ana kategori yazmalı.
bunu Category modelinde ayarladım. üst kategorisi yoksa ana kategori yazıyor fakat varsa seçili getirmiyor. nasıl bir yol izlemem lazım kodlar aşağıda
form.blade kısmı
<label for="top_category">Üst Kategorisi</label>
<select name="top_id" id="top_id" class="form-control">
<option value="">Ana Kategori</option>
@foreach($categoryList as $category)
<option value="{{$category->id}}" >{{ $category->category_name}}</option>
@endforeach
</select>
controller kısmı
public function form($id = 0){
$entry = new Category; // sorun çıkarsa burayı kontrol et.
if ($id>0){
$entry = Category::find($id);
}
$categoryList = Category::all();
return view('admin.category.form', compact('entry','categoryList'));
}
Category Models
class Category extends Model
{
use SoftDeletes;
protected $table = "category";
protected $fillable = ['category_name','slug','top_id'];
// belirtilen kolona eklemeyi engeller
//protected $guarded = ['slug'];
// tüm kolonları serbest kılar
protected $guarded = [];
protected $dates = ['deleted_at'];
public function products(){
return $this->belongsToMany('App\Models\Product','product_category');
}
public function top_category(){
return $this->belongsTo('App\Models\Category','top_id')->withDefault([
'category_name' => 'Ana Kategori'
]);
}
}