Использование контроллера в Eloquent View приводит к ошибке: htmlspecialchars () ожидает, что параметр 1 будет строкой, объект задан - PullRequest
0 голосов
/ 11 октября 2018

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

Мой TagController похож на:

 class TagController extends Controller
{
//
    public function index(){
        $tags = Tag::all();
        return $tags;
    }
}

Мое представление содержит следующий код для доступа к этому

{{ $tags = new App\Http\Controllers\TagController,
                        $tags->index()
}}

-> не может использовать ключевое слово use, потому что eloquent не позволяет этого -> Пытался сделать функцию статической и использовал TagController :: index (), выдал ошибку, не может сделать функцию статической-> не могу использовать этот контроллер для маршрутизации и перенаправления с функцией, потому что представление уже связано с другим контроллером, и я не хочу перезагрузить Как я могу использовать эту функцию из контроллера.Извините за эту глупость, пожалуйста, помогите, я новичок в Laravel

1 Ответ

0 голосов
/ 11 октября 2018

Как упомянуто в комментариях, чтобы фактически установить переменную в вашем файле шаблона, вам нужно использовать правильные метки блейда:

@php
     $tags = new App\Http\Controllers\TagController;

     $tags->index()
@endphp

В текущем виде вы пытаетесь установить переменную вecho.

Согласно документации :

В некоторых ситуациях полезно встроить PHP-код в ваши представления.Вы можете использовать директиву Blade @php для выполнения блока простого PHP внутри вашего шаблона.

Однако ...

Честно говоря, это не идеальный способ сделатьэтот.Вы должны не получать доступ к другому контроллеру в другом представлении, вы должны фактически передавать переменную из соответствующего контроллера представления, как предложено @kerbholz в их комментарии.

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