Я хотел бы наилучшую практику для такого рода проблемыLaravel проверка нескольких моделей
У меня есть items
, categories
и category_item
таблицы для отношения многих ко многим
У меня есть 2 модели с этими правилами Validations
class Category extends Basemodel {
public static $rules = array(
'name' => 'required|min:2|max:255'
);
....
class Item extends BaseModel {
public static $rules = array(
'title' => 'required|min:5|max:255',
'content' => 'required'
);
....
class Basemodel extends Eloquent{
public static function validate($data){
return Validator::make($data, static::$rules);
}
}
Я не знаю, как проверить эти два набора правил только из одной формы с полями категории, заголовка и содержимого.
На данный момент у меня просто проверка для элемента, но я не знаю, что лучше сделать:
- создать новый набор правил в мой контроллер -> но это кажется излишним
- последовательно проверять элемент, а затем категорию -> но я не знаю, как обрабатывать ошибки проверки, мне нужно их слить? и как?
- 3-ий решение, которое я не знаю о
вот мой ItemsController @ магазин метод
/**
* Store a newly created item in storage.
*
* @return Redirect
*/
public function store()
{
$validation= Item::validate(Input::all());
if($validation->passes()){
$new_recipe = new Item();
$new_recipe->title = Input::get('title');
$new_recipe->content = Input::get('content');
$new_recipe->creator_id = Auth::user()->id;
$new_recipe->save();
return Redirect::route('home')
->with('message','your item has been added');
}
else{
return Redirect::route('items.create')->withErrors($validation)->withInput();
}
}
Я очень заинтересован в какой-то подсказке об этой теме
благодаря
Благодаря Антонио, ваше первое решение именно то, что я искал, но, как вы упоминаете Repository решение, это, безусловно, путь –
ли вы попробовать другие книги Laravel? почему вы выбрали этот? –
Не только потому, что я перевел его на свой основной язык, это отличная книга с примерами реального мира и вещами, которые вы можете реально использовать в своих текущих проектах. Книга Тейлора, также замечательная, дает нам важную информацию о принципах SOLID и контейнере IoC, но в основном это касается философии кодирования Laravel. И Code Bright - goog, но для новичков в Laravel. Также книга Джеффри Уэй, о тестировании, очень хороша для изучения TDD, но не о Laravel. –