在Laravel存储照片。迁移文件结构,

时间:2018-02-23 10:42:19

标签: image laravel migration database-migration

我正在创建一个表来保存用户通过表单上传的多张照片。有人告诉我

  

你需要为他们创建一个单独的表(照片)创建一个单独的模型(带有字段'src'的照片)

我的问题在于src。我是否需要将表的属性保存为src 而不是$table->string('photo);

它的

$table->src('photo);

1 个答案:

答案 0 :(得分:1)

您需要定义这样的迁移。

在您的照片表中迁移,请按照以下步骤操作:

 Schema::create('photos', function (Blueprint $table) {
        $table->increments('id'); //you save this id in other tables
        $table->string('title');
        $table->string('src');
        $table->string('mime_type')->nullable();
        $table->string('title')->nullable();
        $table->string('alt')->nullable();
        $table->text('description')->nullable();
        $table->timestamps();
    });

仅供参考,照片的模型如下所示:

class Photo extends Model
{
   protected $fillable = [
    'title',
    'src', //the path you uploaded the image
    'mime_type'
    'description',
    'alt',
  ];
}

在其他表格迁移中:

 Schema::table('others', function(Blueprint $table){
        $table->foreign('photo_id')->references('id')->on('photos');
 });

与照片有关系的其他型号

class Other extends Model
{

 public function photo()
 {
     return $this->belongsTo(Photo::class,'photo_id');
 }

}