Laravel utilise un problème de requête floue DB
PHPz
PHPz 2017-05-16 16:49:26
0
2
747

La documentation a un exemple : https://laravel.com/docs/5.3/...
Comme suit :

$users = DB::table('users')
                ->where('name', 'like', 'T%')
                ->get();

Question 1 :
L'exemple ci-dessus ne recherche qu'un seul nom de champ. Si j'ai une table d'articles avec deux champs de titre et de contenu qui nécessitent une recherche floue, comment dois-je l'écrire ?

$keywords= $request->input('keywords');
$articles = DB::table('articles')
                ->where('content', 'like', $keywords.'%') //这一句里面不止content,而是title和content两个字段
                ->get();

Question 2 :
Y a-t-il d'autres paramètres ou opérations requis pour rechercher le chinois ?

PHPz
PHPz

学习是最好的投资!

répondre à tous(2)
为情所困
$keywords= $request->input('keywords');
$articles = DB::table('articles')
                ->where('content', 'like', $keywords.'%')
                ->orWhere('title', 'like', $keywords.'%')
                ->get();

L'utilisation de Like pour rechercher en chinois ne nécessite pas d'autres paramètres ou opérations. Il n'est pas recommandé d'utiliser like pour ce type d'opération de recherche en texte intégral. Il est préférable d'utiliser des moteurs de recherche tels que ElasticSearch ou Sphinx pour y parvenir

.
小葫芦

Vous pouvez essayer la recherche en texte intégral

select * from articles where match (title,content) against ('keywords');
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal