0

У меня есть теги и модели сообщений.Laravel Many To Many Save

миграции Tag

class CreateTagsTable extends Migration 
{ 
    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::create('tags', function (Blueprint $table) { 
      $table->increments('id'); 
      $table->string('name'); 
      $table->timestamps(); 
     }); 
     Schema::create('post_tag', function (Blueprint $table) { 
      $table->increments('id'); 
      $table->integer('post_id')->unsigned(); 
      $table->integer('tag_id')->unsigned(); 

      $table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade'); 
      $table->foreign('tag_id')->references('id')->on('tags')->onDelete('cascade'); 
      $table->timestamp(); 
     }); 

    } 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::drop('tags'); 
     schema::drop('post_tag'); 
    } 
} 

Migration сообщение

class CreatePostsTable extends Migration 
{ 
    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::create('posts', function (Blueprint $table) { 
      $table->increments('id'); 
      $table->integer('user_id')->unsigned(); 
      $table->string('title'); 
      $table->text('body'); 
      $table->text('filename'); 
      $table->timestamps(); 

    }); 
} 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::drop('posts'); 
    } 
} 

App \ Tag

class Tag extends Model 
{ 
    protected $table="tags"; 
    public $timestamps = true; 


    protected $fillable = ['name']; 

    /** 
    * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany 
    * Many to Many relations make with post 
    */ 
    public function posts() 
    { 
     return $this->belongsToMany('App\Post','post_tag','post_id'); 
    } 
} 

App \ Post

class Post extends Model 
{ 

    protected $table="posts"; 
    public $timestamps = true; 


    protected $fillable = ['title', 'body', 'filename']; 

    /** 
    * @return \Illuminate\Database\Eloquent\Relations\BelongsTo 
    * one to many relationship with user 
    */ 
    public function user() 
    { 
     return $this->belongsTo('App\User','user_id'); 
    } 

    /** 
    * @return BelongsToMany relationship with tags 
    * 
    */ 
    public function tags() 
    { 
     return $this->belongsToMany('App\Tag','post_tag','tag_id')->withTimestamps(); 

    } 


} 

Я хочу приложить сообщения и tags.There это создать пост форму, и я хочу, чтобы эта форма прикрепить теги. Как я буду?

PostController @ магазин

public function store(Request $request) 
{ 
    \Auth::user()->posts()->save(new Post($request->all())); 
    return \Redirect::route('posts.index'); 
} 

я нашел в Laravel документации, но я не использовать метод

App\User::find(1)->roles()->save($role, ['expires' => $expires]); 
+0

Это немного сбивает с толку, не могли бы вы уточнить дальше? Вы показываете свои модели 'Post' и' Tag', но тогда похоже, что вы прикрепляете 'Post' к вашему' User', а затем присоединяете 'Role' к вашему' User'. Непонятно, что именно вы спрашиваете. – user3158900

+0

Вы правы. Я редактирую этот вопрос – helloworld

+0

Я отредактировал. Я хочу добавить сообщение и тег – helloworld

ответ