@dk-web

Почему перезаписываются данные?

В ангуляре.
<table class="table table-striped">

                  <tr ng-repeat="shift in shifts">
                    <td >{{shift.id}} </td>
                    <td>{{shift.started_at}} </td>
                    <td >{{shift.finished_at}} </td>
                    <td ng-init="getOrders(shift.id)">{{shift_order}}</td>

                  </tr>
                </table>

Контроллер:
$scope.getOrders = function(id) {

        Order.getOrders(id)
            .success(function(data) {
                $scope.shift_order=data;

            })
            .error(function(data) {
                console.log(data);
            });

    };

Сервис:
getOrders : function(id) {
             return $http({
                method: 'GET',
                url: '/api/orders/shift_order/'+id,
                headers: { 'Content-Type' : 'application/x-www-form-urlencoded' },
             });

        },

В Ларавел:
Роут..
Route::get('orders/shift_order/{id}', 'OrderController@shift_order');
Контроллер:
public function shift_order($id)
    {

    return [
                'shifts'=> Shift::find($id)
            ];
    }


Выдает одинаковые данные по последнему id...
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
streetflush
@streetflush
$scope.shift_order один, а вы его постоянно перезаписываете своими getOrders в цикле.....

Либо $scope.shift_order[shift.id] т.е. массив со значениями, либо делаем директиву для shift order и тогда для каждого её включения в DOM будет свой scope.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы