Data foto produk dan foto kategori semuanya akan disimpan dalam dengan nama images. Untuk file fotonya akan diupload ke folder storage. Sekarang kita buat model dulu beserta migrationnya dengan perintah berikut.
php artisan make:model Image -m
Kemudian tekan enter, tunggu beberapa saat sampai proses selesai.
Setelah selesai, ada 2 file yaitu Image.php di folder app sebagai model dan file migration dengan akhiran create_images_table.php.
# Migrations
Buka file migrations dengan akhiran create_images_table.php, kemudian ubah seperti kode berikut.
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateImagesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('images', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->string('url');
$table->foreign('user_id')->references('id')->on('users');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('images');
}
}
# Model Image
Setelah migrations, selanjutnya kita edit file model Image dengan kode berikut.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Image extends Model
{
protected $table = 'images';
protected $fillable = [
'user_id',
'url',
];
public function user() {//user yang menginput data image
return $this->belongsTo('App\User', 'user_id');
}
}
# Migrate
Setelah selesai edit kedua file tersebut, sekarang jalankan perintah migrate.
php artisan migrate
kemudian tekan enter.
Akan ada tambahan 1 buah table dengan nama images di database. Pada tutorial selanjutnya kita akan membuat controller untuk mengetes fungsi upload images.