默認情況下,當在Laravel中創建控制器時,對於基本的CRUD
操作,存在諸如create
,store
,edit
,update
等空方法。 CRUD
就像在這種情況下使用的普遍接受的技術......但是例如對於用戶模型,我創建了2種方法:save
和get
。我應該使用CRUD嗎?
public function save($user_id = FALSE, UserRequest $request)
{
$user = NULL;
if ($user_id)
$user = User::find($user_id);
else if (($request->has('email') or $request->has('username')) and $request->has('password')) {
$data = $request->only('username', 'email');
$data = array_filter($data);
$user = new User($data);
}
if (is_null($user))
return $this->ajaxResponse(['error' => TRUE, 'message' => 'User not found']);
if ($password = $request->get('password', FALSE))
$user->password = Hash::make($password);
$user->fill($request->except('password', '_token'));
$user->save();
return $this->ajaxResponse();
}
正如你可以看到它由一個if
如果我需要使用現有用戶或創建一個新的,檢查。類似於firstOrCreate
方法,只是在所有檢查完成之前我不創建用戶。
所以基本上我的問題是關於我應該留在傳統CRUD
或者如果它適合我的目的,我可以離開它,因爲它是現在。
在我的應用我有巨大的控制器,其中'store'和'update'方法略有不同所以我當然用'CRUD',但在應用程序也都像用戶創造它由幾個字段的\更新更小的東西更新。所以在將來我想在這些地方節省時間,並簡單地使用我在第一篇文章中發佈的方法。 Laravel資源控制器需要'PUT','DELETE'方法,這需要額外的時間來開發。 – Kin