我决定将所有模型都包含在User to Models文件夹中,除了一件事之外,一切都有效。我有这个特点
trait Favoritable{
public function favorites()
{
return $this->belongsToMany(Album::class, 'favorites')->withTimestamps();
}
public function favorite(Album $album)
{
if(! $this->checkIfFavorited($album)){
return $this->favorites()->attach($album);
}
}
public function checkIfFavorited(Album $album)
{
return $this->favorites()->where('album_id', $album->id)->exists();
}
我在我的User模型类中使用。由于我将所有模型移动到新文件夹,我不再喜欢一个专辑了。这是我收到的错误消息
调用未定义的方法Illuminate \ Database \ Query \ Builder :: attach()
我已使用
更新了config / auth.php'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
并将每个模型中的空间命名为App \ Models;还有在composer.json里面。
"autoload": {
"classmap": [
"database",
"app/Models"
],
并且做了composer dump-autoload。为什么我的attach()方法出错?我忘了什么吗?
答案 0 :(得分:0)
想发表评论但是: 很抱歉,这是一个答案,但在我有50个代表之前无法发表评论:
你能提供用户类吗?包括其他类/特征的使用。