LaraKnife Kochbuch: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 13: | Zeile 13: | ||
* Datenbank erweitern: | * Datenbank erweitern: | ||
<pre> | <pre> | ||
php artisan make:migration add_notes_info | php artisan make:migration add_notes_info --table=notes | ||
</pre> | </pre> | ||
Die entstehende Datei bearbeiten: | Die entstehende Datei bearbeiten: | ||
Zeile 24: | Zeile 24: | ||
} | } | ||
</pre> | </pre> | ||
* Auflistung der möglichen Datentypen: [[Datenbank-Laravel#Felddefinitionen]] | |||
<pre> | <pre> | ||
php artisan migrate | php artisan migrate | ||
Zeile 35: | Zeile 36: | ||
** Feld in edit.blade.php eintragen | ** Feld in edit.blade.php eintragen | ||
** Feld in show.blade.php eintragen | ** Feld in show.blade.php eintragen | ||
* NotesController anpassen: | |||
** function create() ... $fields = [ ... 'info' => '' ...]; | |||
** function index(): | |||
*** Wenn ein Filter dazukommt: $fields = [ ... 'info' => '' ...] | |||
*** Wenn bei einem gemeinsamen Suchfilter auch diese Spalte durchsucht werden soll: | |||
**** <code>ViewHelper::addConditionPattern($conditions, $parameters, 'title,body,info,', 'text');</code> | |||
*** Wenn ein Combobox als Filter dazukommt: | |||
**** <code>ViewHelper::addConditionComparism($conditions, $parameters, 'category_scope', 'category');</code> | |||
**** <code>$optionsCategory = SProperty::optionsByScope('category', $fields['category'], 'all');</code> | |||
**** <code>return view('note.index', [... optionsCategory ... ]); |
Version vom 1. Februar 2024, 21:27 Uhr
Links
Zielsetzung
Kleine Tipps zur Verwendung von LaraKnife.
Moduländerungen
In den Beispielen wird das Modul Notes verwendet.
Zusätzliches Attribut
Es soll das Attribut "info" ergänzt werden:
Zu tun:
- Datenbank erweitern:
php artisan make:migration add_notes_info --table=notes
Die entstehende Datei bearbeiten:
public function up() { Schema::create('notes', function ($table) { $table->string("info"); }); }
- Auflistung der möglichen Datentypen: Datenbank-Laravel#Felddefinitionen
php artisan migrate
- Model erweitern:
- app/Models/Note.php: in $fillable eintragen
- Views erweitern:
- Feld eventuell in index.blade.php eintragen
- Feld in create.blade.php eintragen
- Feld in edit.blade.php eintragen
- Feld in show.blade.php eintragen
- NotesController anpassen:
- function create() ... $fields = [ ... 'info' => ...];
- function index():
- Wenn ein Filter dazukommt: $fields = [ ... 'info' => ...]
- Wenn bei einem gemeinsamen Suchfilter auch diese Spalte durchsucht werden soll:
ViewHelper::addConditionPattern($conditions, $parameters, 'title,body,info,', 'text');
- Wenn ein Combobox als Filter dazukommt:
ViewHelper::addConditionComparism($conditions, $parameters, 'category_scope', 'category');
$optionsCategory = SProperty::optionsByScope('category', $fields['category'], 'all');
return view('note.index', [... optionsCategory ... ]);