0
私は、のカテゴリテーブルに対するbelongsTo
の関係を持つ複数のテーブルがある状況があります。Laravel morphに属していますか?
だから私は、この構造について考えた:
ユーザーテーブル:
id
name
email
category_id <--
カテゴリーテーブル
id
model_type
name
はmorph
関係で可能これですか?
私は、のカテゴリテーブルに対するbelongsTo
の関係を持つ複数のテーブルがある状況があります。Laravel morphに属していますか?
だから私は、この構造について考えた:
ユーザーテーブル:
id
name
email
category_id <--
カテゴリーテーブル
id
model_type
name
はmorph
関係で可能これですか?
これは、model_type
がどのモデルのどのカテゴリに使用できるかの制約にすぎないため、これはありません。あなたはCategory
に所属する多くのモデルを持っているので、それとも、その一歩取ると、関係のための形質を使用してでき
class User extends Model
{
// User class
public function category()
{
return $this->belongsTo(Category::class)->where('model_type', '=', static::class);
}
}
:あなたはそのようにそれを設定する場合は次のような各モデルの関係上、その制約を追加しますその特性をCategory
の各モデルに配置します。
trait BelongsToCategory()
{
public function category()
{
return $this->belongsTo(Category::class)->where('model_type', '=', static::class);
}
}
class User extends Model
{
use BelongsToCategory;
// User class
}