LaraKnife Kochbuch: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Celine (Diskussion | Beiträge) |
Celine (Diskussion | Beiträge) |
||
Zeile 36: | 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 | ||
* | * NoteController anpassen: | ||
** function create() ... $fields = [ ... 'info' => '' ...]; | ** function create() und edit() und show(): ... $fields = [ ... 'info' => '' ...]; | ||
** function index(): | ** function index(): | ||
*** Wenn ein Filter dazukommt: $fields = [ ... 'info' => '' ...] | *** Wenn ein Filter dazukommt: $fields = [ ... 'info' => '' ...] |
Version vom 3. Februar 2024, 18:21 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::table('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
- NoteController anpassen:
- function create() und edit() und show(): ... $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 ... ]);