0
插入多個標籤,我想插入多個標籤一個帖子記錄,因此,這裏是我的郵編@店:未能就Laravel
$post = Post::create(array(
'title' => $request->title,
'body' => $request->body,
'user_id' => Auth::id(),
));
if($post && $request->tags)
{
$tagNames = explode(',', $request->tags);
$tagIds = [];
foreach($tagNames as $tagName)
{
$tag = Tag::firstOrCreate(['name'=>$tagName]);
if($tag)
{
$tagIds[] = $tag->id;
}
}
$post->tags()->attach($tagIds);
}
,但它給我一個錯誤"Call to a member function attach() on null"
。當我在MySQL中檢查標記已經在那裏,但我無法找到我的post_tag表上的任何條目。這裏是我的崗位模型:
class Post extends Model
{
protected $fillable = ['user_id','title','slug','body','tags','category_id','featured'];
public function category()
{
return $this->belongsTo('App\Category');
}
public function tags()
{
$this->hasMany('App\Tag');
}
}
現在我得到了這個錯誤「調用未定義的方法照亮\數據庫\查詢\ Builder :: attach()」 – Ying
它應該是'belongsToMany'不'hasMany' – Hamoud
偉大,謝謝。你能用belongsToMany更新你的答案嗎?我會選擇它。 – Ying