В Laravel Как добавить несколько значений раскрывающегося списка в качестве объекта в одной ячейке базы данных - PullRequest
0 голосов
/ 10 июня 2018

Это раскрывающийся список с несколькими значениями:

<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' }

и вот вопрос, как я могу получить доступ к каждому значению объекта или свойству.Я имею в виду, как я могу получить доступ к изображению или к значению кода?

1 Ответ

0 голосов
/ 10 июня 2018

Ваш формат json недействителен.

Существует три проблемы с форматом json:

1) Если вы хотите иметь массив объектов, вам нужно заключить их в квадратные скобки []

2) Ваши ключи и значения json должны быть в двойных кавычках, а не в одинарных!

3) Разделитель между ключами должен быть ,, а не ;


Поэтому попробуйте встроитьваша строка json выглядит так:
<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'

ОБНОВЛЕНИЕ

Если вы отправляете строку json из Laravel в javascript, она автоматически преобразуется вобъект json.

Предположим, что вы возвращаете строку json из Laravel ниже 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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...