Laravel 5.6 - смесь POST и AngularJS - PullRequest
       1

Laravel 5.6 - смесь POST и AngularJS

0 голосов
/ 29 августа 2018

Вопрос

Как правильно вывести «число: 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)}}
};

Когда я отправляю форму, я вижу, что отправляемые данные «набираются», ну, в любом случае, значения, связанные с выпадающими меню выбора, все равно

FormData

Как уже упоминалось, если при отправке возникает проблема, я снова заполняю форму отправленными данными, используя old(), однако для переменной client_id и asset_id (то есть для угловых JS) мне возвращают "число: 1 ", и я не уверен, как превратить это в" 1 ".

Если мне удастся сохранить переменные angularjs в виде строк, они будут опубликованы, например, как. "Строка: 1"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...