我试图保存帖子图片。保存图像或将图像移动到uploads目录没有问题。但是在sync
部分,它给了我这个错误。
(我有三个表。帖子,媒体和数据透视表)
这是同步代码;
$media = Media::where('created_at', '>=', Carbon::now()->subSecond(10))->pluck('id');
$post->media()->sync($media, true);
媒体模型;
public function posts(){
$this->belongsToMany('App\Post','media_post','image_id','post_id');
}
和发布模型
public function media() {
$this->belongsToMany('App\Media','media_post','post_id','image_id');
}
有什么建议吗?
答案 0 :(得分:1)
您没有从关系方法返回。这就是原因。
public function media()
{
$this->belongsToMany(...);
}
这就是你正在做的事情,它没有return
。
$n = null;
$n->sync(); // Call to a member function sync() on null
function a() { }
a()->sync(); // Call to a member function sync() on null
这是PHP。您定义了一个不返回任何内容的方法,如果您调用它,最终会得到null
。