laravel 4如何实现多态关系的存储库

时间:2014-09-30 22:37:16

标签: laravel-4 repository-design

我有车辆类morphTo(公共汽车)和MorphTo(SUV)和MorphTo(轿车)。

在VehicleController中保存时,我调用了vehicleRepositoryInterface,vehicleRepository。

如何保存公交车或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());
}

My Vehicle Repository Class如何使用morphTo关系处理if(Vehicle Type是Bus / SUV / Van)?

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; 
    }
}

1 个答案:

答案 0 :(得分:0)

最后,我自己回答了多态关系以保存在存储库中。

在创建功能 -

  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;

非常感谢高级修改或建议,以便更好地接近。