现在我创建了很少的模块,如产品,销售,类别。我发现他们实际上使用相同的功能和类似的过程。例如,Controller中的update():
分类
public function update($id)
{
$instance = Category::findOrFail($id);
$instance->fill(Input::all())->save();
}
产品
public function update($id)
{
$instance = Product::findOrFail($id);
$instance->fill(Input::all())->save();
}
如何通过使模型动态来将它连接到BaseController?
答案 0 :(得分:1)
这样的事情:
abstract class ResourceController extends BaseController
{
protected $entity;
public function __construct(Model $entity){ //or Eloquent, depending on your import alias
$this->entity = $entity;
}
public function update($id)
{
$instance = $this->entity->findOrFail( $id );
$instance->fill( Input::all() )->save();
}
}
class ProductController extends ResourceController{
public function __construct(Product $entity){
parent::__construct($entity);
}
}
class CategoryController extends ResourceController{
public function __construct(Category $entity){
parent::__construct($entity);
}
}