Как мне правильно вывести от "number: 4" к "4" в лезвии Laravel при возврате данных angularjs из old()?
Я отправляю объект, используя маршрутизацию Laravel
<form method = "POST" action = "/pricestructures/create">
<input name = "_method" type = "hidden" value = "POST">
{{ csrf_field() }}
<div class = "form-group">
<label for = "">Name</label>
<input type = "text" name = "name" class = "form-control" placeholder = "Name" required value = "{{old('name')}}" required>
</div>
<div class = "form-group">
<label for = "">Client</label>
<select name = "client_id" ng-model = "data.client_id" ng-options = "o.id as o.name for o in Clients" class = "form-control" required ng-change = "GetAssets()">
<option value = "">Please select</option>
</select>
</div>
<div class = "form-group">
<label for = "">Asset</label>
<select name = "asset_id" ng-model = "data.asset_id" ng-options = "o.id as o.name for o in Assets" class = "form-control" required ng-disabled = "!data.client_id">
<option value = "">Please select</option>
</select>
</div>
<div class = "form-group">
<label for = "">Quantity</label>
<input type = "number" name = "quantity" class = "form-control" placeholder = "Quantity" required min = "0" step = "1" value = "{{old('quantity')}}" required>
</div>
<div class = "form-group">
<label for = "">Price</label>
<input type = "number" name = "price" class = "form-control" placeholder = "Price" required min = "0" step = "0.01" value = "{{old('price')}}" required>
</div>
<div class = "form-group">
<button type = "submit" class = "btn btn-primary">Save Changes</button>
</div>
</form>Эта форма находится в контроллере AngularJS 1.6, и я отслеживаю выбор client_id и загружаю соответствующие ресурсы, когда они меняются, с помощью GetAssets(). Поскольку для этого я использую AngularJS, я сохраняю значения полей client_id и asset_id в $ scope.
Точно так же, когда возвращаются какие-либо ошибки, я хотел бы использовать old() для повторного заполнения переменных $ scope.
$scope.data = {
client_id: {{ old('client_id',0) }},
asset_id: {{ old('asset_id',0)}}
};
Когда я отправляю форму, я вижу, что отправляемые данные «набираются», ну, значения, связанные с раскрывающимися списками выбора, в любом случае
Как уже упоминалось, если есть проблема с отправкой, я повторно заполняю форму отправленными данными с помощью old(), однако для переменных client_id и asset_id (то есть для Angular JS) мне возвращается «число: 1», и я не уверен, как Я превращаю это в «1».
Если мне случится хранить переменные angularjs в виде строк, они будут отправлены, например, как "строка: 1"
Привет, Тоби, да, я обдумал это, но полагаю, что это, вероятно, не «правильный» способ справиться с этим. «Типизация» явно преднамеренная, поэтому я полагаю, что есть способ ее декодирования (аналогично json_decode), однако я не уверен, что это за тип кодирования.






в вашем контроллере попробуйте
$scope.data = {
client_id: '{{ old('client_id',0) }}',
asset_id: '{{ old('asset_id',0)}}'
};
просто установите двойные кавычки или одинарные кавычки, и появится реальное значение.
Рассматривали ли вы использование функции разнесения в php для разделения строки с использованием «:» в качестве разделителя. Затем верните нужную вещь в лезвие. Это нужно делать на контроллере php