LaravelのEloquentORMを使用して結合クエリを作成するのに苦労しています
多対多の関係を持つ2つのクラスがあります
class Type extends Eloquent
{
public function activities()
{
return $this->has_many_and_belongs_to('Activity');
}
}
class Activity extends Eloquent
{
public function types()
{
return $this->has_many_and_belongs_to('Type');
}
}
私のデータベースには、types、activitys、およびactivitys_typesテーブルがあります
次のSQLクエリを再作成しようとしています
SELECT a . *
FROM activities a
JOIN activities_types at ON a.id = at.activities_id
WHERE at.type_id
IN ( 1, 2, 4 )
GROUP BY a.id
ORM構文を理解していません。私はもう試した
$ activitys = Activity :: types()。where_in( "id"、$ types)-> get();
しかし、エラーが発生します"Non-static method Activity::types() should not be called statically, assuming $this from incompatible context"
ポインタをありがとう