LaraKnife Kochbuch: Unterschied zwischen den Versionen

Aus Vokabulabor
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");
    });
}
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 ... ]);