Laravel 5.4 *Laravel - 一些相關車型節省
我有以下控制器和功能:
AuthorController
class AuthorController extends Controller {
public function store(StoreAuthor $request) {
Author::create($request->all());
return response()->json(["message" => "done"]);
}
}
BookController的
class BookController extends Controller {
public function store(StoreBook $request) {
Book::create($request->all());
return response()->json(["message" => "done"]);
}
}
CategoryController
class CategoryController extends Controller {
public function store(StoreCategory $request) {
Category::create($request->all());
return response()->json(["message" => "done"]);
}
}
越來越像這些。
我通過FormRequest處理驗證和安全性,這是乾淨而優雅的。
我想要實現的是以前曾被問過的,但我還沒有真正找到適合我的解決方案。
我想發送一個表格並保存許多相關的模型。 我想我會發送包含數據的所有這樣的車型JSON對象:{author:author, book:book, category:category, ....}
我應該創建一個不同的控制器,該控制器處理多個模型的邏輯是什麼?如果是的話,我如何避免重複原控制器內的邏輯?
我是否應該爲每個控制器創建一個可以爲其他控制器保存的特徵(例如:AuthorTrait
)?如果是的話我怎麼能保持formRequest驗證和策略的邏輯?
我已經看到了laravel方法associate
和attach
,但它們似乎只在記錄已經創建時才起作用。
我想起來的第一件事就是鏈接不同的控制器方法,但這對我來說似乎真的不乾淨。
謝謝。
這很酷又幹燥,但我怎樣才能保存一個類別,一個作者和一本書,來自客戶端的一個請求?想象一下,我用'{category:category,author:author,book:book .....}來做一個$ post' – Enrico
@Enrico我已經編輯過我的帖子,我將如何處理它。 –
我不知道這真的會幫助我,但感謝您的幫助。我想我會與異步ajax調用去不同的控制器,並相應地更新客戶端數據。 – Enrico