2016-07-18 5 views
0

это мой код в моей функции контроллера:Невозможно сделать "один ко многим" отношения работы в Laravel

$topic = Topic::create([ 
      'title' => $request->input('title'), 
      'content' => $request->input('content'), 
      'tags' => $request->input('tags'), 
     ]); 
     $forum = Forum::find($frid); // $frid = Forum ID 
     $topic->myforum($forum->id);// Not working 
     $topic->myforum($forum);// Not working 
     $topic->myforum()->associate($forum->id);// Not working 
     $topic->myforum()->associate($forum);// Not working 
     $topic->myforum()->attach($forum->id);// Not working 
     $topic->myforum()->attach($forum);// Not working 
     $topic->myforum = $forum;// Not working 
     $topic->myforum = $forum->id;// Not working 
     $topic->creator()->attach(Auth::user()->id);//Same Here 
     $topic->save(); 

Тема Модель:

public function myforum() 
{ 
    return $this->belongsTo('Forum', 'forum_id'); 
} 


public function creator() 
{ 
    return $this->belongsTo('User', 'user_id'); 
} 

Форум Модель:

public function topics() 
{ 
    return $this->hasMany('Topic', 'forum_id'); 
} 

Модель пользователя:

public function topics() 
{ 
    return $this->hasMany('Topic', 'user_id'); 
} 

Итак, как вы видите, в контроллере я попробовал все возможности, которые я нашел в Интернете и Безоперационных они работали так, пожалуйста, помогите с любой идеей

ответ

0

Вместо

return $this->hasMany('Topic', 'user_id'); 

мы должны использовать

return $this->hasMany('App\Topic', 'user_id'); 

Потому что даже если мы добавим use App\Topic; он не будет работать, и мы должны сделать это как то

 Смежные вопросы

  • Нет связанных вопросов^_^