Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.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_Laravel - Fatal编程技术网

Php Laravel对合并集合进行排序

Php Laravel对合并集合进行排序,php,laravel,Php,Laravel,我的控制器中有3个集合正在合并,我的问题是我希望合并的集合按到期日进行排序 $expiry = date('Y-m-d', strtotime('+3 months')); $servers = Server::where('expiry_date', '<', $expiry)->orderBy('expiry_date', 'asc')->get(); $domains = Domain::where('expiry_date', '<', $

我的
控制器中有3个集合正在合并,我的问题是我希望合并的集合按
到期日进行排序

    $expiry = date('Y-m-d', strtotime('+3 months'));
    $servers = Server::where('expiry_date', '<', $expiry)->orderBy('expiry_date', 'asc')->get();
    $domains = Domain::where('expiry_date', '<', $expiry)->orderBy('expiry_date', 'asc')->get();
    $hosts = Host::where('expiry_date', '<', $expiry)->orderBy('expiry_date', 'asc')->get();
    $invoices = $domains->merge($servers)->merge($hosts);
$expiry=日期('Y-m-d',标准时间('3个月');
$servers=Server::where('expiration_date','如果
orderBy()
在您的查询中正常工作,这应该适用于您:

$expiry = date('Y-m-d', strtotime('+3 months'));
$servers = Server::where('expiry_date', '<', $expiry)->get();
$domains = Domain::where('expiry_date', '<', $expiry)->get();
$hosts = Host::where('expiry_date', '<', $expiry)->get();
$invoices = $domains->merge($servers)->merge($hosts);
$invoices->sortBy('expiry_date');
$expiry=日期('Y-m-d',标准时间('3个月');

$servers=Server::where('expiration_date',”使用SQL查询解决,以防任何人正在寻找类似的内容

$servers = DB::table('servers')->select(DB::raw('"Server" as type, servers.id, servers.client_id, servers.expiry_date, servers.name, clients.name as clientName'))->leftJoin('clients', 'servers.client_id', '=', 'clients.id')->where('expiry_date', '<', $expiry);
    $domains = DB::table('domains')->select(DB::raw('"Domain" as type, domains.id, domains.client_id, domains.expiry_date, domains.name, clients.name as clientName'))->leftJoin('clients', 'domains.client_id', '=', 'clients.id')->where('expiry_date', '<', $expiry);
    $hosts = DB::table('hosts')->select(DB::raw('"Host" as type, hosts.id, hosts.client_id, hosts.expiry_date, hosts.name, clients.name as clientName'))->leftJoin('clients', 'hosts.client_id', '=', 'clients.id')->where('expiry_date', '<', $expiry)->unionAll($domains)->unionAll($servers)->orderBy('expiry_date', 'asc')->get();        

$servers=DB::table('servers')->选择(DB::raw('Server'作为类型,servers.id,servers.client\u id,servers.expiry\u日期,servers.name,clients.name作为clientName'))->leftJoin('clients','servers.client\u id','=','clients.id')->其中('expiry\u date有错误吗?如果没有,到底什么不起作用?
asort()预期参数2很长,字符串给定
我在没有asc的情况下尝试过,没有错误,但是没有尝试使用
->sortBy('expiration\u date')
。请注意:我会创建一个包含
scopeExpiresAfter($query,DateTimeInterface$date)的特征
方法,您可以将其应用于您的
服务器
主机
模型。这将稍微清理代码:
服务器::过期($三个月)->get()