Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当我在laravel中编写连接查询时,它得到';允许的内存耗尽';_Php_Mysql_Laravel 5 - Fatal编程技术网

Php 当我在laravel中编写连接查询时,它得到';允许的内存耗尽';

Php 当我在laravel中编写连接查询时,它得到';允许的内存耗尽';,php,mysql,laravel-5,Php,Mysql,Laravel 5,我在laravel项目中编写了连接查询。数据库中有一百万条记录。当我加载页面时,它会显示“允许内存耗尽”消息。有人能帮我解决这个问题吗? 我的代码: mysql查询 SELECT SUM(sales.amount) as total FROM `sales` INNER JOIN user ON sales.userid = user.userid And sales.bankid = user.bank_id WHERE sales.bankid=1 user.bank_id=1 AND

我在laravel项目中编写了连接查询。数据库中有一百万条记录。当我加载页面时,它会显示“允许内存耗尽”消息。有人能帮我解决这个问题吗? 我的代码:

mysql查询

SELECT SUM(sales.amount) as total FROM `sales`  INNER JOIN user
ON sales.userid = user.userid 
And sales.bankid = user.bank_id

WHERE sales.bankid=1
user.bank_id=1
AND sales.month=8
AND sales.year= 2020
And user.usertype=6
另一个问题(2)我已经尝试过了,我没有遇到“允许内存耗尽”的问题。它工作得很好,但是当我尝试获取usertype1和usertype2记录时。我得到了错误的值

function test($bank_id=NULL,$month=NULL,$year=NULL,$userType=NULL){
    $query = Sales::query();
    if($bank_id){
        $query = $query->where('bankid', $bank_id);
    }
    
    if($month)
    $query = $query->where('month', $month);
    
    if($year)
    $query = $query->where('year', $year);
    
     $query = $query->select(DB::raw("SUM(amount) as total"));
    if($userType!="all"){   
        $query->whereIn('userid', function ($query1) use ($userType,$bank_id) {
            $query1->select('userid')
                ->from('user');
                if($bank_id!="all"){
                    $query1 = $query1->where('bank_id', $bank_id);
                }
                if($userType==1){
                    $query1->where('usertype', 1)->orWhere('agentType', 2);
                } else {
                    $query1->where('usertype', $userType);
                }
        });
    }
    return $query->get()->toarray()[0]['total'];
}
mysql查询

$query=DB::select("SELECT SUM(sales.amount) as total 
FROM `sales`
WHERE month=8
AND year= 2020
AND bank=2
AND `userid` IN (select userid from user where bank_id=2 AND(usertype=1 OR usertype=2))");

谢谢。

添加
ini\u集('memory\u limit','1024M')行。数据库中有100万条销售记录和3万条用户记录。我已经在数据库中创建了带有用户和销售表的视图。我已经包括了金额、月份、年份、银行、用户ID和用户类型表字段。现在加载问题没有发生。

我已经增加到2GB。但还是一样的问题。
$query=DB::select("SELECT SUM(sales.amount) as total 
FROM `sales`
WHERE month=8
AND year= 2020
AND bank=2
AND `userid` IN (select userid from user where bank_id=2 AND(usertype=1 OR usertype=2))");