crear model controlador i migracio per Watercolor:
Created at: 2023-09-04 19:12:07 | Updated at: 2024-08-27 16:03:10
crear model controlador i migracio de Watercolor:
php artisan make:model Watercolor -mcr
editar model:
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Watercolor extends Model { use HasFactory; protected $fillable = array('img', 'nom', 'dimensions', 'any', 'theme', 'autor', 'url'); }
editar controlador utilitzant el model eloquent Watercolor:
<?php namespace App\Http\Controllers; use App\Models\Watercolor; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class WatercolorController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $watercolor = Watercolor::all()->sortByDesc("updated_at"); return view('watercolor.index', compact('watercolor')); }
La funció index()que ha mostrat és un mètode d'un controlador en Laravel que realitza una consulta a la base de dades per obtenir tots els registres de la taula associat amb el model Watercolor. Vamos a desglosar la consulta per entendre-la millor:
Si la taula Watercolorté molts registres, aquesta forma d'ordenar les dades després de recuperar-los tots no poden ser molt eficients. En el seu lloc, seria més eficient realitzar l'ordenació directament a la consulta de base de dades, especialment per a conjunts de dades grans:
$watercolor = Watercolor::orderBy('updated_at', 'desc')->get();
En aquest cas, orderBy és un mètode del Query Builder de Laravel i get()recupera els registres i ordenats directament de la base de dades.
editar migracio:
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('watercolors', function (Blueprint $table) { $table->integer('id')->unsigned()->autoIncrement(); $table->string('img', 255); $table->string('nom', 255); $table->string('dimensions', 255)->nullable()->default(NULL); $table->string('any', 255)->nullable()->default(NULL); $table->string('theme', 255); $table->string('autor', 255)->nullable()->default(NULL); $table->string('url', 255)->nullable()->default(NULL); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('watercolors'); } };
executar la migracio:
php artisan migrate
No valid image directory found or the category is not valid for the gallery.