如何解决在LARAVEL中,模型的可翻译属性为null
类别模型
class Category extends Model implements TranslatableContract
{
use Translatable;
protected $table = "categories";
public $translatedAttributes = ['title'];
protected $fillable = ['slug'];
protected $hidden = ['created_at','updated_at','deleted_at','translations'];
public function meals()
{
return $this->hasMany('App\Meal');
}
}
class CategoryTranslation extends Model
{
public $timestamps = false;
protected $fillable = ['title'];
}
类别模型的工厂
$factory->define(Category::class,function (Faker $faker) {
static $i = 1;
$locales = Language::pluck('lang');
$data = array('slug' => Str::slug('category '.$i,'-'));
foreach ($locales as $locale){
$data[$locale] = [
'title' => 'Naslov kategorije '.$i.' na '.$locale.' jeziku'
];
}
$i++;
return $data;
我的title属性显示为空,而不是我尝试声明的可翻译属性标题的种子字符串。所有其他标题属性都可以正常工作,如下所示。我将5种语言用于本地化,其中一种是ru,所以标题基本上应该说:俄罗斯语言上的类别标题,就像它在数据的其他属性的标题上说的那样。
这就是响应的样子。
{
"meta": {
"currentPage": 1,"totalItems": 7,"itemsPerPage": 10,"totalPages": 1
},"data": [
{
"id": 3,"status": "created","title": "Naslov jela 15 na ru jeziku","description": "Opis jela 15 na ru jeziku","ingredients": [
{
"id": 1,"slug": "ingredient-1","title": "Naslov sastojka 1 na ru jeziku"
},{
"id": 2,"slug": "ingredient-2","title": "Naslov sastojka 2 na ru jeziku"
},{
"id": 6,"slug": "ingredient-6","title": "Naslov sastojka 6 na ru jeziku"
}
],"category": {
"id": 3,"slug": "category-3","title": null //<--------------------------------
},"tags": [
{
"id": 4,"slug": "tag-4","title": "Naslov taga 4 na ru jeziku"
}
]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。