2014-01-20 4 views
0

У меня есть две таблицы, основные материалы, категории и статьи. Категории:Laravel edit view проверяет все флажки

  • ID
  • имя

Статьи:

  • ID
  • название
  • category_id ...

Отношения

Категория Модель:

public function articles() 
{ 
    return $this->hasMany('Article'); 
} 

Статьи Модель:

public function category() 
{ 
    return $this->belongsTo('Category'); 
} 

редактировать и upadte методы в контроллере:

public function getEdit($id) 
    { 
     $categories = Category::get(); 
     $articles = Article::with('category')->find($id); 
     return View::make('articles.edit', compact('articles', 'categories'), array('title' => 'Promena clanka')); 
    } 

    public function updateEdit($id) 
    { 

     $validation = Validator::make(Input::all(), Article::$rules); 

     if($validation->passes()) { 
      $article = Article::find($id); 
      $article->title = Input::get('title'); 
      $article->slug = Slug::make(Input::get('title')); 
      $article->body = Input::get('body'); 
      $article->category_id = Input::get('category_id'); 
      $article->tag = Input::get('tag'); 
      $article->visibility = Input::get('visibility'); 
      $article->update(); 
      return Redirect::route('dashboard')->with('message', 'Uspesno promenjen clanak'); 
     } 

     return Redirect::route('dashboard/article/edit/' . $id)->withErrors($validation); 
    } 

Как я могу dispay только проверил флажок, что имеет значение category_id. Пока все проверено.

@if(count($categories)) 
    @foreach($categories as $category) 
     <div class="checkbox"> 
      {{Form::checkbox('category_id', $category->id) }} <span>{{Str::Title($category->name) }}</span> 
     </div> 
    @endforeach 
@endif 

Как это решить?

+0

У меня есть та же самая проблема, вам удалось решить эту проблему? – fanbondi

ответ

1

Form::checkbox имеет необязательный третий параметр для установки флажка. Вы можете использовать isset на $category->id, который вернет логическое значение (true, если $category->id установлено, а не null).

Таким образом в вашем цикле вы могли бы сделать что-то вроде этого:

{{Form::checkbox('category_id', $category->id, isset($category->id)}} 
Смежные вопросы