Laravel 8 MVC как отправить значение из контроллера в представление

#php #html #database #laravel #eloquent

#php #HTML #База данных #ларавель #красноречивый

Вопрос:

Я пытаюсь отобразить набор значений (хэштегов), которые я получаю из базы данных для просмотра через контроллер. Но я застрял здесь, в этом контроллере. Не уверен, какую функцию использовать, view или With после получения значений DB. Какой вариант лучше всего использовать? и как его использовать в представлении вот мой пример кода класса контроллера

 <?php

namespace AppHttpControllers;


use AppModelsHashtag;
use IlluminateHttpRequest;
use AppHttpRequestsSearchHashtagRequest;


class BannedHashController extends Controller
{
    public function index(){


        if(request()->query('query_hashtag')){
         $hashtags = HashTag::where('hashtag','LIKE',"%{request()->query('query_hashtag')}%");

        //Stuck in here
        }else{
        }

        return view('bannedhashtags.index');

    }

}
 

Index.blade.php

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Instagram  Hashtags</title>
</head>
<body>
    <h1>Check your Instagram hashtags</h1>
    

   <form  method="get" type="get"   action="{{url('bannedhashtags')}}">
   <div class="input-group">
   
                <input type="text" class="form-control" placeholder="Search for..." name="query_hashtag">
                <span class="input-group-btn">
            <button class="btn btn-secondary" type="submit">Go!</button>
          </span>
   
   </form>



</body>
</html>
 

Комментарии:

1. Для этого есть страница руководства

Ответ №1:

вы можете сделать это, как показано ниже:

 public function index(){
    if(request()->query('query_hashtag')){
             $hashtags = HashTag::where('hashtag','LIKE',"%{request()->query('query_hashtag')}%");
    
            return view('bannedhashtags.index',['hashtags'=>$hastags]);
            }
   return view('bannedhashtags.index');
}
 

и в этом случае вам нужно проверить наличие переменной $hastags в вашем html, как показано ниже

 @if(isset($hashtags))
     your html code here if the hashtags variable is set
@endif
 

если то, что вы ищете, — это отфильтровать список хэштегов, будет лучше показать список хэштегов (возможно, используя разбивку на страницы, если список слишком большой), а затем отфильтровать его с помощью ajax-запроса.