Laravel 5.0查询生成器-具有多个参数的位置 [英] Laravel 5.0 Query Builder - Where with multiple parameters

查看:75
本文介绍了Laravel 5.0查询生成器-具有多个参数的位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Laravel 5.0项目,我需要实现以下逻辑

I've a Laravel 5.0 project, that I need to implement the following logic

$var1= 'A';
$var2= 'B';
$var3= 50;
$data = DataModel::select('attr1','attr2')->where(function($q){
    $q->where('attr3','like','%'.$var1.'%');
    $q->where('attr4','like',$var2.'%');
    $q->where('attr5','=',$var3);
})->get();

问题出在哪里,其中$ var1,var2和$ var3是未定义的变量.

The problem is for the "Where" function $var1, var2 and $var3 are undefined variables.

我的问题是,如何将多个参数传递给where函数?

My Question is, How can I pass multiple parameters to the where function?

推荐答案

此处,闭包函数在where参数中传递.要继承变量,您必须使用use关键字

Here, closure function passed in where argument. To inherit variables you have to use use keyword

例如function($q) use($var1, $var2, $var3){...

要了解有关闭包功能的更多信息,请查看php手册.

To learn more about closure function please check php manual.

这篇关于Laravel 5.0查询生成器-具有多个参数的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆