我有车辆类别morphTo(公共汽车)、morphTo(SUV)和morphTo。
在VehicleController中保存时,我调用了vehicleRepositoryInterface,vehicleStorage。
如何保存巴士、SUV或轿车数据?
我的车辆等级
Class Vehicle controller{
public function get_create(){
if($this->vehicle->create(Input::all()))
return Redirect::to()
}
return Redirect::to()->withInput()->withErrors($this->vehicle->getMessages());
}
我的车辆库类如何处理(车辆类型为公共汽车/SUV/面包车)与morphTo的关系?
Class VehicleRepository Implements VehicleRepositoryInterface{
public function create($array $inputs){
if($this->validatator->IsValid($inputs)){
// How to implement BUS or SUV or Van in here
$this->model->create($inputs);
return true;
}
return false;
}
}
最后我自己得到了保存在存储库中的多态关系的答案。
在创建函数中——
if($this->validator->isValid($inputs){
// first store in temp model. $this model will be destroyed.
$temp_model = $this->model->create($inputs);
//then Depency Injection comein for polymorphic model
$this->polymorphicmodel->create($subinputs):
// link with polymorphic relation
$this->polymorphicmodel->modelable()->save($temp_model);
return true;
}
return false;
非常感谢为更好地接近而提出的高级修改或建议。