laravel 5.3查询生成器中的内部查询
我尝试使用类似Laravel的内部查询来获取数据,但我遇到了一个问题,我将值变量作为值传递,我的查询如下laravel 5.3查询生成器中的内部查询,laravel,laravel-query-builder,inner-query,Laravel,Laravel Query Builder,Inner Query,我尝试使用类似Laravel的内部查询来获取数据,但我遇到了一个问题,我将值变量作为值传递,我的查询如下 $seller_name = $request->seller_name; $supplier_address = DB::table('supplier_addresses') ->where('company_main_name', function($query) { $query->select
$seller_name = $request->seller_name;
$supplier_address = DB::table('supplier_addresses')
->where('company_main_name', function($query)
{
$query->select('company_main_name')
->where('company_name',$seller_name)
->from('supplier_addresses')
->get();
})
->get();
如果我传递的是静态值而不是
$seller\u name
,那么它工作得很好,我检查了$seller\u name
是否为空,它显示错误变量未定义。您必须使用使用类似
$seller_name = $request->seller_name;
$supplier_address = DB::table('supplier_addresses')
->where('company_main_name', function($query) use ($seller_name)
{
$query->select('company_main_name')
->where('company_name',$seller_name)
->from('supplier_addresses')->get();
})
->get();
您必须使用use($seller\u name)
尝试这样做,您必须像这样使用use
在函数之后传递$variable
$seller_name = $request->seller_name;
$supplier_address = DB::table('supplier_addresses')
->where('company_main_name', function($query ) use($seller_name)
{
$query->select('company_main_name')
->where('company_name',$seller_name)
->from('supplier_addresses')
->get();
})
->get();
您忘记使用use
您需要使用use
将$seller\u name
传递给闭包。不要在闭包查询中使用get()
$supplier_address = DB::table('supplier_addresses')
->where('company_main_name', function($query) use ($seller_name) {
$query->select('company_main_name')
->where('company_name', $seller_name)
->from('supplier_addresses');
})
->get();
您的代码也执行与此相同的操作
$supplier_address = DB::table('supplier_addresses')
->where('company_name', $seller_name)
->get();
您必须在函数中传递变量use($seller\u name)
你可以在这里查阅文件:
确保您从$seller\u name=$request->seller\u name>获取$seller\u name
$seller\u name
有一个值。@HirenMangukiya只需在函数
调用后传递使用($seller\u name)
@HirenMangukiya让它工作了?
$supplier_address = DB::table('supplier_addresses')
->where('company_main_name', function($query) use ($seller_name) {
$query->select('company_main_name')
->where('company_name', $seller_name)
->from('supplier_addresses');
})
->get();
$supplier_address = DB::table('supplier_addresses')
->where('company_name', $seller_name)
->get();
$seller_name = $request->seller_name;
$supplier_address =
DB::table('supplier_addresses')
->where('company_main_name', function($query) use ($seller_name)
{
$query->select('company_main_name')
->where('company_name',$seller_name)
->from('supplier_addresses') ->get();
})
->get();