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()メソッドでエラーが発生するのはなぜですか?私は何かを忘れましたか?
withTimestamps()を削除する必要があります。 belongsToManyメソッドの後では、attach()はbelongsToMany関係の直後にのみ機能します。 –