我们如何使用 laravel 中的公共关系在单个文件中编写并在我们需要该关系的模型中扩展该类。
请查看模型“Court”:
use Illuminate\Database\Eloquent\Model;
use Astrotomic\Translatable\Translatable;
use TranslatableContract;
class Court extends Model implements TranslatableContract
{
use Translatable;
public $translatedAttributes = ['title', 'description'];
public $fillable = ['court_type_id', 'state_id', 'city_id'];
public function courtType()
{
return $this->belongsTo('App\CourtType', 'court_type_id');
}
public function state()
{
return $this->belongsTo('App\State');
}
public function city()
{
return $this->belongsTo('App\City');
}
}
另一种型号“CourtCase”
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Astrotomic\Translatable\Translatable;
use TranslatableContract;
class CourtCase extends Model implements TranslatableContract
{
use Translatable;
public $translatedAttributes = ['case_id', 'title', 'description'];
public $fillable = ['court_id', 'state_id', 'city_id'];
public function userable()
{
return $this->morphTo();
}
public function images()
{
return $this->morphMany('App\Image', 'imageable');
}
public function state()
{
return $this->belongsTo('App\State');
}
public function city()
{
return $this->belongsTo('App\City');
}
}
在上面的模型中,我们有两个关系,命名为城市,州,在每个模型中都是常见的,允许代码重复,所以我们如何将这些关系写在一个文件中并在特定模型中扩展它。