私はselect2 jquery pluginとlaravelフォームモデルバインディングを使用してサーバーからデータをレンダリングしています。 他のすべては正常に動作しますが、選択されたオプションとして投稿に添付されたタグはレンダリングされません。選択2は選択されたオプションを表示しません。 (Laravel)
私にはわからないことがあります。ここに私の見解の部分があります。
<div class="form-group">
{!! Form::label('tag_list','Tags:') !!}
{!! Form::select('tag_list[]', $tags,null,['id'=>'tag_list', 'class'=>'form-control','multiple']) !!}
</div>
// This is the select 2 script
$('#tag_list').select2({
'placeholder':'Choose Tags',
tags:true,
tokenSeparators:[",", " "],
createTag:function(newTag){
return{
id:'new:' + newTag.term,
text:newTag.term + '(new)'
};
}
});
そして、これはArticleモデルに
getTagListAtrribute機能です//これは
public function getTagListAttribute(){
return $this->tags->lists('post_id')->all();
}
getTagListAttribute関数であり、私はこのようなコントローラから編集フォームをロードします。
public function article_edit($slug){
// fetch the articles.
//$article = DB::table('articles')->where('slug',$slug)->first();
$article = Article::where('slug',$slug)->first();
/*echo '<pre>';
print_r($article->title);
die();*/
$tags = DB::table('tags')->lists('name','tag_id');
$categories=DB::table('categories')->lists('category_name','category_id');
return view('admin.pages.edit', compact('article','tags','categories'));
}
記事に関連付けられているタグをt彼はページを読み込み、私はできなかった。だから私は助けが必要です。この
{!! Form::select('tag_list', $tags, $selected, ['id'=>'tag_list', 'name'=>'tag_list[]','class'=>'form-control','multiple']) !!}
等
これはわかりにくいかもしれませんが、選択した値はどこで設定していますか? – apokryfos
フォームモデルバインディングは、私が知っている限り、nullを使用するときにそれを処理する必要があります。 – user2906838
コードスニペットに 'Form :: model'コードがあると視覚的に役立つでしょう。 – apokryfos