0

我正在尝试将现有的文本列转换为可翻译的。我发现当我将列名添加到受保护的可翻译数组时,我不再能够像以前那样访问它($model->key)

我认为这是因为它正在寻找翻译但找不到翻译。有没有办法让我返回专栏的内容?我想检索文本并将其替换为 json

当我记录 $this 时,我可以看到我的对象和正确的键:值对。任何访问它或将其转换为数组的尝试都会导致该值完全消失

$array = json_decode(json_encode($this), true);
$object = json_decode(json_encode($this), false);

error_log('$this     '.print_r($this,true)); // includes the key 'myKey' with correct value

error_log('$array     '.print_r($array['mykey'],true)); // empty
error_log('$object     '.print_r($object->mykey,true)); // empty
4

1 回答 1

0

如果要将特定列的所有翻译值作为数组获取,则可以使用此方法。

public function update(ModelName $modelItem)
{
    return $modelItem->getTranslations('column_name');
}

//result 
[
   'en' => 'test',
   'tr' => 'deneme',
]

资源: https ://github.com/spatie/laravel-translatable#getting-all-translations-in-one-go

于 2021-11-28T14:21:11.733 回答