LaraKnife Kochbuch: Unterschied zwischen den Versionen

Aus Vokabulabor
Zur Navigation springen Zur Suche springen
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
* NotesController anpassen:
* 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");
    });
}
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 ... ]);