3
此代碼:Laravel雄辯JSON領域,選擇屬性產生額外的雙引號
$translation = Translation::where('language_id', 2)
->whereNotNull('data->navigation_login')
->select('data->navigation_login as navigation_login')
->first()
->toArray();
dd($translation);
產生這樣的結果: array(1) {["navigation_login"]=> string(7) ""Login"" }
的問題是多餘的雙引號角落找尋登錄字符串:""Login""
我該如何消除這種情況?
如果我運行aboe代碼而不選擇:
$translation = Translation::where('language_id', 2)
->whereNotNull('data->navigation_login')
->first()
->toArray();
dd($translation);
沒有雙引號:
["data"]=>
array(3) {
["navigation_login"]=>
string(5) "Login"
["navigation_order"]=>
string(5) "Order"
["navigation_registration"]=>
string(7) "Sign up"
}
這裏是模型細節:
...
class Translation extends Model {
protected $casts = [
'data' => 'array',
];
...
這裏是架構細節:
...
$table->json('data')->nullable();
...
燦你把點而不是 - >在data-> navigation_login這一行? – DrStein
Translation模型的表是否真的叫做'data'?你能否在表格模式中包含一些信息? –
@DrStein' - > select('data.navigation_login as navigation_login')'點不起作用。 **未知列'data.navigation_login'** – robcaa