php – Laravel中的模型关系5.3

前端之家收集整理的这篇文章主要介绍了php – Laravel中的模型关系5.3前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有网站购物车的 MySQL表: @H_403_1@Cart: id | user Cart_goods: cart_id | good_id | good_type Details: id | name Appliances: id | name

班车,其中包含商品:

@H_403_1@class Cart extends Model { protected $table = 'cart'; protected $fillable = ['user','sum','profit','discount']; protected $guarded = ['user']; public function goods() { return $this->hasMany('App\Models\Good'); } }

Class Good,可以是Detail或Appliance,相对于cart的cart_id:

@H_403_1@class Good extends Model { protected $table = 'cart_goods'; protected $types = [ 'Detail' => 'App\Models\Detail','Appliance' => 'App\Models\Appliance' ]; public $primaryKey = 'cart_id'; public function good() { return $this->morphTo(); } }

详细类:

@H_403_1@class Detail extends Model { use SoftDeletes; protected $morphClass = 'Detail'; protected $table = 'details'; protected $fillable = ['article','name','photo','price_procurement','price_retail','serial','location_id','type_id','appliance_id','comment','for']; protected $dates = ['deleted_at']; protected $guarded = []; public function goods() { return $this->morphMany('App\Models\Good','good'); } }

我需要把所有的电器和细节放在购物车里.如何使用ORM?

使用 nested eager loading.假设关系方法名称是cartGoods,详细信息和设备,详细信息是购物车的详细信息,并且您已经定义了关系权限: @H_403_1@Card::where('id',$id) ->with('cartGoods.appliances','details') ->first();

猜你在找的Laravel相关文章