Я считаю, что вы должны модульно кодировать ваш код для лучшего обслуживания:
Во-первых, не проверяйте ваш запрос в контроллере. Создайте запрос формы:
php artisan make:request StoreProduct
Создайте логику проверки в файле, расположенном в app / Http / Requests / StoreProduct
class StoreProduct extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'product_name' => 'required|string|max:191',
'quantity' => 'required|integer',
'product_id' => 'required',
'category' => 'string|max:191',
'brand' => 'string|max:191',
'provider_id' => 'required'
];
}
в файле вашего контроллера.
//include the request file
use App\Http\Requests\StoreProject;
// (...) the rest of your code
// The validation is called before the controller method
public function store(StoreProduct $request)
{
$validated = $request->validated();
$this->storeProduct($request);
$this->storeProductDetails($request);
// Return a redirect response and not a $product
// Is a good practice to redirect to your products list
// for example: redirect('/productsList');
// Here, I'm redirecting to your root page;
return redirect('/');
}
public function storeProduct(StoreProduct $request){
Product::create([
'product_name' => $request['product_name'],
'quantity' => $request['quantity']
]);
}
public function storeProductDetails(StoreProduct $request){
ProductDetails::create([
'product_id' => $request['product_id'],
'category' => $request['category'],
'brand' => $request['brand'],
'provider_id' => $request['provider_id']
]);
}
Ссылка: Проверка запроса формы Laravel
Вы добавили
-vmargs
...
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
в свой eclipse.ini ?
Потому что, если у вас есть (и если вы добавили lombok.jar в библиотеки, используемые вашим проектом), он просто работает отлично с Eclipse Helios:
Ян Тегебо упоминает в комментариях , что:
простого «перезапуска» было недостаточно, чтобы подобрать измененные vmargs:
Мне нужно было явно выйти, а затем начать снова .
chrisjleu упоминает в комментариях :
Если вы используете настроенный дистрибутив Eclipse Helios (3.6+), вам, возможно, придется использовать полный путь к
lombok .jar
в обоих аргументахvm
.
См. commit b47e87f для получения дополнительной информации.
boolean fullPathRequired = IdeFinder.getOS() == EclipseFinder.OS.UNIX || System.getProperty("lombok.installer.fullpath") != null;
Это для установки Ломбока на Комплекте инструментов Spring. Вот то, что я сделал на пружинном комплекте инструментов (sts-4.4.0. ВЫПУСК) и Ломбок-1.18.10.jar (текущая последняя версия, доступная в mavenrepository).
При наличии проекта знатока, гарантируйте зависимость Ломбока, добавленную к нему. Еще Вы должны вручную добавить банку к своему пути к классу проекта.
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>
Чистый создают приложение знатока. Это загрузит банку Ломбока в Вашем .m2 местоположении по умолчанию из репозитория знатока. Путь был бы org\projectlombok\lombok\1.18.10\
Теперь открытая командная строка и перешел бы на Ломбок, соединяют каналом и выполняются, команда java -jar lombok-1.18.10.jar
C:\xxx\xxx\org\projectlombok\lombok\1.18.10>java -jar lombok-1.18.10.jar
Открывает диалоговое окно Ломбока. Если видят, что сообщение Can't find IDE
Нажимает Specify location...
Provide путь к Вашему корневому местоположению STS
Мой случай, это C:\apps\sts-4.4.0.RELEASE\SpringToolSuite.exe
Install/Update
, успешная Установка Нажимает Quit Installer
Now в проводнике, перешли к Вашему корневому пути STS. C:\apps\sts-4.4.0.RELEASE\
Мы видим lombok.jar
помещенный в корневой путь sts, Теперь редактируют в файле блокнота SpringToolSuite4.ini
, Мы видим, что следующие, добавленные в конце
-javaagent:C:\apps\sts-4.4.0.RELEASE\lombok.jar
, Запускают STS использование SpringToolSuite4.exe
Чистый, восстанавливают Ваш проект.
Вам нужно не только добавить lombok.jar в библиотеки, но и установить его, либо дважды щелкнув jar-файл lombok, либо из командной строки запустите java -jar lombok. банка
. Это покажет вам хороший экран установщика. Выберите установку Eclipse и установите ее.
После этого вы можете проверить, правильно ли установщик изменил ваш eclipse.ini:
-vmargs
...
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
Если ваш Eclipse уже был запущен, вы должны выйти из Eclipse и запустить его снова. (Файла / перезагрузки недостаточно)
Если вы запускаете Eclipse с помощью ярлыка, убедитесь, что либо нет аргументов командной строки, либо добавьте вручную -javaagent: lombok.jar
-Xbootclasspath / a: lombok.jar
где-то после -vmargs
.
В последних выпусках Lombok также добавлена строка на экран «О Eclipse». Если Lombok активен, вы можете найти строку типа «Lombok v0.11.6« Dashing Kakapo »установлен. http://projectlombok.org/ 'чуть выше линии кнопок.
Если по какой-то причине, обычно связанной с настраиваемыми сборками eclipse, вам нужно использовать полный путь, вы можете указать установщику в командной строке:
java -Dlombok.installer.fullpath -jar lombok. банка