У меня есть настройка модели:
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Upload extends Model {
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'uploads';
/**
* The attributes excluded from the model JSON form.
*
* @var array
*/
protected $hidden = array('id', 'user', 'created_at', 'updated_at');
public function mime() {
return $this->hasOne('App\Models\Mime', 'mime');
}
}
И когда JsonSerialize()
, он возвращает:
{
"serverPath": "upload/2015/06/06/21/filename.jpg",
"filename": "filename.jpg",
"mime": "92"
}
Это 92
ссылается на идентификатор в другой таблице (которое App\Models\Mime
представляет) с строкой, type
, связанный с ней. Я бы хотел заменить эту 92
указанной строкой.
{
"serverPath": "upload/2015/06/06/21/filename.jpg",
"filename": "filename.jpg",
"mime": "image/jpeg"
}
Как это возможно? Я попробовал некоторые вещи с protected $appends
в модели Upload
, но я не уверен, что полностью понимаю, как использовать/получать доступ к отношениям внутри модели.
Уточнение Табличные мимы содержат столбцы id
и type
, в то время как загрузка таблиц содержит целочисленный столбец с именем mime
который ссылается на id в mimes