iT邦幫忙

0

出現「未定義的變量」錯誤

我在做搜尋的功能時,搜尋時第一頁是正常的,但要點到第二頁就出現了以下錯誤,請問該怎麼修改?
https://ithelp.ithome.com.tw/upload/images/20210120/20132806qC5e44YAyC.png

public function search()
    {
        if (isset($_GET['query']))
            $search_text = $_GET['query'];
        $posts = Post::where('title', 'LIKE', '%' . $search_text . '%')->paginate(3);
        return view('posts.search', compact('posts'));
    }
柯柯 iT邦新手 5 級 ‧ 2021-01-20 17:29:00 檢舉
看你的網址
是$_GET['query'] 沒傳到第二頁
所以 不會進if
你的$search_text 也就沒有給他定義這個變數了

1 個回答

1

用函式吃get值!!
真有你的。

判斷式改成

if (isset($_GET['query']) && $_GET['query'])

但這不是根本的方式。
根本的方式該從源頭處理。

認真來說,光看在function內取get值我會覺得很可怕。
理論上值該在外頭判斷取得後,再送給function才對。

柯柯 iT邦新手 5 級 ‧ 2021-01-21 10:22:31 檢舉

Laravel 我記得是用 ROUTE 去設定參數跟GET/POST
再用Request把參數帶回來
function index(Request $request){}

不要亂教。物件的funtion並不算是函式。而是方法。
應用的方式本來就不一樣。

人家這邊只是單純的函式處理。

我要發表回答

立即登入回答