2016-10-08 4 views
0

私はすべてのモデルをユーザーモデルフォルダに移動することに決めました。私はこの特性を持っていますすべてのモデルをモデルフォルダに移動しましたが、今ではattach()を使用できません。

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モデルクラスで使用しています。すべてのモデルを新しいフォルダに移動したので、もうアルバムを好きにはできません。ここで私は私が

'providers' => [ 
    'users' => [ 
     'driver' => 'eloquent', 
     'model' => App\Models\User::class, 
    ], 
で設定/ auth.phpを更新した未定義のメソッドを照らし\ Databaseへ

コール\クエリー\ビルダー::添付()

を取得するエラーメッセージがあります

とApp \ Modelsに対する各モデルの名前空間。

"autoload": { 
    "classmap": [ 
     "database", 
     "app/Models" 
    ], 

となりました。作者dump-autoloadを実行しました。 attach()メソッドでエラーが発生するのはなぜですか?私は何かを忘れましたか?

+0

withTimestamps()を削除する必要があります。 belongsToManyメソッドの後では、attach()はbelongsToMany関係の直後にのみ機能します。 –

答えて

0

はコメントしたかったが: 申し訳ありませんが、これが答えですが、私は持って前にコメントすることはできませんことを50レップ:

あなたはUserクラスを提供していただけますか?他のクラス/特性の使用を含む。

関連する問題