【问题标题】:Making a search function in Laravel 8在 Laravel 8 中制作搜索功能
【发布时间】:2021-07-05 11:32:35
【问题描述】:

我正在尝试在我的网页上创建搜索功能,但它不起作用。谁能告诉我这段代码有什么问题?

public function webSearch(Request $request)
{
    $articles = Article::where('title', '>', 'LIKE', "%{$request->search}%")
        ->orWhere('member', '>', 'LIKE', "%{$request->search}%")
        ->orWhere('excerpt', '>', 'LIKE', "%{$request->search}%")
        ->orWhere('body', '>', 'LIKE', "%{$request->search}%")->get();
    
    return view('pages/search');
}

Search.blade.php

@if($articles->isNotEmpty())
    @foreach ($articles as $article)
        <div class="article-list">
            <p>{{ $article->title }}</p>
            <img src="{{ $article->image }}">
        </div>
    @endforeach
@else 
    <div>
        <h2>No posts found</h2>
    </div>
@endif

错误

SQLSTATE[42000]:语法错误或访问冲突:1064 你有一个 SQL 语法错误;检查与您对应的手册 MySQL 服务器版本,用于在 '%news one% 附近使用正确的语法 title > ? member > ?或excerpt > ?或body > ?在第 1 行 (SQL: select * from articles where %news one% title > LIKE member > LIKE 或 excerpt > LIKE 或 body > LIKE)

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    您的查询中不应有 >。

    改变

    $articles = Article::where('title', '>', 'LIKE', "%{$request->search}%")
    

    $articles = Article::where('title', 'LIKE', "%{$request->search}%")
    

    【讨论】:

    • thnx 很多,现在我没有错误,但它让我清空 url /search?search=news
    猜你喜欢
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2016-09-15
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    相关资源
    最近更新 更多