Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
getting_started_with_laravel [03.12.2020 15:29] – Pascal Suter | getting_started_with_laravel [04.12.2020 11:44] (current) – [Basics] Pascal Suter | ||
---|---|---|---|
Line 104: | Line 104: | ||
**processing delete requests** are like posts, but we can't set the form method to '' | **processing delete requests** are like posts, but we can't set the form method to '' | ||
+ | **sessions and flashing data** in laravel we can either store data into our session, like in normal php.. we can do this either via the '' | ||
+ | a specialty in laravel is, that we can **flash** data to a session. flashing means, that the data will only remain in the session for the next request. after that it will either be unset or we need to **reflash** to keep the flashed variables. to flash a variable to a session, we do the same as above with the '' | ||
===== Relations ===== | ===== Relations ===== | ||
relations are defined in the Model by adding a new public function to it. | relations are defined in the Model by adding a new public function to it. | ||
Line 148: | Line 150: | ||
* foreign keys in should be named in the singular, lowercase and underscored form of the target table plus '' | * foreign keys in should be named in the singular, lowercase and underscored form of the target table plus '' | ||
+ | |||
+ | ===== Form validation ===== | ||
+ | Laravel provides a nice Method for validating forms. Typically the validator is added in the Controller '' | ||
+ | <code php> | ||
+ | public function store(Request $request){ | ||
+ | $validData = $request-> | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ]); | ||
+ | // anything from here on will only be executed if the above validation was successful | ||
+ | } | ||
+ | </ | ||
+ | there are many [[https:// | ||
+ | |||
+ | also note, that the '' | ||
+ | |||
+ | now here are a few cool things about the validator: | ||
+ | * if it finds an invalid field, it will stop right there and laravel will show you the form page again without any further routes needed. | ||
+ | * in addition to bringing the user back to the form, laravel will provide an '' | ||
+ | * even better, there is a '' | ||
+ | * you also get a '' | ||
+ | here's an example part of a (bootstrap based) blade with a form that will show some info if the validation fails: | ||
+ | |||
+ | <code html> | ||
+ | @if ($errors-> | ||
+ | <div class=" | ||
+ | You did not fill in all the form fields correctly, please correct or complete the Information given below | ||
+ | </ | ||
+ | @endif | ||
+ | <form action=" | ||
+ | @csrf | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <label for=" | ||
+ | <input type=" | ||
+ | <div class=" | ||
+ | </ | ||
+ | .... | ||
+ | </ | ||
===== Tricks ===== | ===== Tricks ===== | ||
+ | ==== dump / dump and die ==== | ||
+ | this has to be the first tip :) .. there is a helper function called '' | ||
+ | |||
+ | you may not always want to stop the execution, so another helper called '' | ||
+ | |||
+ | to use those helpers in a blade, there are special blade syntax helpers available which make it even easier: | ||
+ | < | ||
+ | for example dumps all defined variables. there is also a '' | ||
+ | |||
+ | note that using < | ||
==== Create Model + Controller + Migration all in one step ==== | ==== Create Model + Controller + Migration all in one step ==== | ||
artisan make:model Pizza -mc | artisan make:model Pizza -mc | ||
Line 184: | Line 236: | ||
@extends(' | @extends(' | ||
</ | </ | ||
- | and in the layout you would then simply use '' | + | and in the layout you would then simply use < |
=== 2.) create a mini-section === | === 2.) create a mini-section === |