这是一个包含多个值的下拉列表:
<select multiple size="4" name="darha[]">
@foreach($doors as $door)
<option value="{ image: '{{ $door->image }}'; code: '{{ $door->code }}'}"{{ $door->code }}</option>
@endforeach
</select>
这是我在商店中的控制器功能:
$product->darha = implode(', ', $request->darha);
表中插入的数据如下:
{ image: '1527585419301-Door-T-D.jpg'; code: '301-Door-T-D' }, { image: '1527851661402-Door-A-T.jpg'; code: '402-Door-A-T' }
以下是如何访问每个对象值或属性的问题。我的意思是,我如何访问图像或代码值?
答案 0 :(得分:0)
您的json格式无效。
您的json格式存在三个问题:
1)如果你想拥有一些对象,你需要将它们包在括号[]
2)你的json键和值必须是双引号而不是单引号!
3)密钥之间的分隔符必须为,
而不是;
<option value='{"image":"{{ $door->image }}", "code": "{{ $door->code }}"}'>{{ $door->code }}</option>
如果你有一个像这样的json字符串:
$var = '[{ "image": "1527585419301-Door-T-D.jpg", "code": "301-Door-T-D" },{ "image": "1527851661402-Door-A-T.jpg", "code": "402-Door-A-T" }]';
您可以将其转换为json对象,如下所示:
$myObjects = json_decode($var);
然后像这样访问每个键:
$myObjects[0]->image; //'1527585419301-Door-T-D.jpg'
<强>更新强>
如果要从Laravel向javascript发送json字符串,它将自动转换为json对象。
假设你从Laravel下面的json字符串返回到js:
$var = '{"image": "1527585419301-Door-T-D.jpg", "code": "301-Door-T-D" }';
return $var;
在js方面,您可以访问以下属性:
var $darha = data.image; // '1527585419301-Door-T-D.jpg'