Ошибка PHP - использование неопределенной константы x - предполагается «x» - PullRequest
0 голосов
/ 30 июня 2019

как получить данные из таблицы и передать их в контроллер в формате json и получить эти данные с помощью angularjs

Я хочу получить данные из кодированной переменной json из контроллера и показать их для просмотра страницы, используя angularjs

просмотр страницы с помощью angularjs

<div class="card"  ng-app = "myApp">
  <table class="table table-hover" ng-controller = "menuController">
     <thead>
        <tr>
           <th>Name</th>
           <th>Parent menu</th>
           <th>Order</th>
           <th>Status</th>
           <th class="text-center">Actions</th>
        </tr>
     </thead>
     <tbody>
        <tr ng-repeat = "x  in values">
           <td>{{x.name}}</td>
           <td>{{x.parent_name}}</td>
           <td>{{x.orders}}</td>
           <td>{{x.status}}</td>
           <td class="text-right">
              <button type="button" class="btn btn-icon-toggle"
                      data-toggle="tooltip" data-placement="top"
                      data-original-title="Edit row">
                <i class="fa fa-pencil"></i>
              </button>
              <button type="button" class="btn btn-icon-toggle"
                      data-toggle="tooltip" data-placement="top"
                      data-original-title="Copy row">
                 <i class="fa fa-copy"></i>
              </button>
              <button type="button" class="btn btn-icon-toggle"
                      data-toggle="tooltip" data-placement="top" 
                      data-original-title="Delete row">
                <i class="fa fa-trash-o"></i>
              </button>
           </td>
        </tr>
     </tbody>
  </table>
</div>
  var app = angular.module('myApp');
  app.controller('menuController',function ($scope,$http) {
     $scope.values = ["Milk", "Bread", "Cheese"];
  });

код контроллера PHP

public function getmenu(){

    $records=Menu::all();

    return json_encode($records);
    }

код маршрута

Route::group(['prefix'=>'admin'],function(){
    Route::get('/form','HomeController@form');
});

ErrorException (E_ERROR)
Использование неопределенной константы x - предполагается, что 'x' (это приведет к ошибке в будущей версии PHP) (View: form.blade.php)

1 Ответ

1 голос
/ 30 июня 2019

Я думаю, это может быть потому, что вы обслуживаете свое представление, которое содержит угловой код, с помощью Laravel, а в файле form.blade.php вы используете угловой синтаксис, который совпадает с синтаксисом блейда.

Чтобы решить эту проблему, вы можете попытаться удалить слово blade из имени файла представления, чтобы оно стало form.php или (альтернативным способом вместо изменения имени файла) каждый раз, когда вам вместо этого нужно что-то печатать с помощью инфраструктуры JavaScript лезвия, используйте: @{{ variableToPrint }}.

Так, например, часть вашего цикла станет:

<tr ng-repeat="x in values">
       <td>@{{x.name}}</td>
       <td>@{{x.parent_name}}</td>
       <td>@{x.orders}}</td>
       <td>@{{x.status}}</td>
       <!-- ... -->

Вы получаете ошибку, так как blade-сервер использует тот же синтаксис для оценки и печати значений, поэтому, если вы напишите: {{ x.name }} blade-сервер находит строковый литерал x, который интерпретируется как константа. Если вы добавите префикс @, blade-сервер распознает, что в качестве инструкции, которую не нужно анализировать, но которую нужно оставить как есть, он просто удалит @, оставив вам правильный код для вашего цикла JavaScript.

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