- 建库,建model
php artisan make:migration create_tags_table --create=tags 
 php artisan make:model Tag
- 加字段
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateTagsTable extends Migration { public function up() { Schema::create('tags', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->timestamps(); }); //字母顺序,单数形式表名下划线结合定义中间表名 Schema::create('article_tag', function (Blueprint $table) { $table->integer('tag_id')->unsigned()->index(); $table->foreign('tag_id')->references('id')->on('tags')->onDelete('cascade'); $table->integer('article_id')->unsigned()->index(); $table->foreign('article_id')->references('id')->on('articles')->onDelete('cascade'); $table->timestamps(); }); } public function down() { Schema::drop('tags'); Schema::drop('article_tag'); } } 
- 添加关系
//在Article模型中 public function tags() { return $this->belongsToMany('App\Tag'); } //在Tag中 public function articles() { return $this->belongsToMany('App\Article'); } 
- 调用
$article->tags()->attach($id) $tag->articles()->attach($id)
- 视图多选框
<div class='form-group'> {!! Form::label('tags', 'Tags') !!} {!! Form::select('tags[]',$tags, null, ['class'=>'form-control','multiple']) !!} </div> 
- create ,  store
public function create() { $tags = \App\Tag::lists('name','id'); return view('articles.create', compact('tags')); } public function store(ArticleRequest $request) { $article = \Auth::user()->articles()->create($request->all()); $article->tags()->attach($request->tags); flash()->success('Your article has been created!'); return redirect('articles'); } 
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号