名前空間を使用してモデルをセットアップしようとしています。その部分は簡単です。私が苦労しているのは人間関係の部分です。
私はこれらの2つのモデルを持っています(これらは取り除かれています):
<?php
namespace My\App\V1\Models;
class Movies extends \My\Namespace\Path\Base
{
}
?>
<?php
namespace My\App\V1\Models
class Genres extends \My\Namespace\Path\Base
{
public function initialize()
{
$this->hasMany('id', 'Movies', 'genre_id');
}
public function howManyMovies()
{
return $this->countMovies();
}
}
?>
だから...そのまま、これは私に与えるでしょう:
Cannot redeclare class My\App\V1\Models\Movies ....
それで、名前空間と関係があると思い始めました。だから... hasMany を次のように変更します。
$this->hasMany('id', 'My\\App\\V1\\Models\\Movies', 'genre_id');
「My」の前にバックスラッシュを付けても付けなくてもかまいませんが、どちらの場合でも次のようになります。
The method "countMovies" doesn't exist on model "My\App\V1\Models\Genres"
その行を次のように変更してみます。
return $this->countMyAppV1ModelsMovies();
...これはかなり冗長ですが、何でも。「メソッドが存在しません」というエラーが表示されます。
私は何が欠けていますか?