Dies wäre nicht seit model_type
ist nur eine Einschränkung, welche Kategorien für welche Modelle verfügbar sind. Wenn man es so einrichten würden Sie die Einschränkung des auf jedes Modell hinzufügen Beziehung wie:
class User extends Model
{
// User class
public function category()
{
return $this->belongsTo(Category::class)->where('model_type', '=', static::class);
}
}
Oder weil Sie viele Modelle haben, die Category
gehören Sie, dass ein Schritt weiter gehen könnten und ein Merkmal für die Beziehung verwenden und Legen Sie das Merkmal auf jedes Modell, das zu Category
gehört:
trait BelongsToCategory()
{
public function category()
{
return $this->belongsTo(Category::class)->where('model_type', '=', static::class);
}
}
class User extends Model
{
use BelongsToCategory;
// User class
}