Php Laravel:根据日期从数据库中获取n个模型实例
如问题所述,我试图从数据库中,从多个表中,Php Laravel:根据日期从数据库中获取n个模型实例,php,mysql,database,laravel,laravel-5,Php,Mysql,Database,Laravel,Laravel 5,如问题所述,我试图从数据库中,从多个表中,n(变量)按最早日期排序的记录数 这些表实际上没有太多的共同点,因此不确定是否应该使用联接 我至少有4个模型,目前我有两种可能的方法来解决: 要么找出下一个n日期,然后尝试从中构建我的列表,要么从每个日期中提取n,然后比较它们并按日期排序(这似乎有点琐碎) 我该怎么配这个 以后编辑: 我想大致了解以下内容:发票要兑现,费用要支付,活动,以及预期的事件,因此我们假设这些是我们的表 表看起来像: 发票: | id | customer_id | invoic
n
(变量)按最早日期排序的记录数
这些表实际上没有太多的共同点,因此不确定是否应该使用联接
我至少有4个模型,目前我有两种可能的方法来解决:
要么找出下一个n
日期,然后尝试从中构建我的列表,要么从每个日期中提取n
,然后比较它们并按日期排序(这似乎有点琐碎)
我该怎么配这个
以后编辑:
我想大致了解以下内容:发票
要兑现,费用
要支付,活动
,以及预期的事件
,因此我们假设这些是我们的表
表看起来像:
发票
:
| id | customer_id | invoice_no | issue_date | due_date | paid_on | amount | vat | total | company_id created_at | updated_at | deleted_at |
| id | name | amount | due_date | paid_on | user_id | company_id | expense_category_id | created_at | updated_at | deleted_at |
费用
:
| id | customer_id | invoice_no | issue_date | due_date | paid_on | amount | vat | total | company_id created_at | updated_at | deleted_at |
| id | name | amount | due_date | paid_on | user_id | company_id | expense_category_id | created_at | updated_at | deleted_at |
事件
和活动
的结构有些相同,包括名称、位置、一些布尔值表示已确认等,以及日期字段
以后再编辑:
我仍然没有找到任何“有说服力的”解决方案,目前我也不确定我是否能在一次查询中收集到我所需要的所有数据,但这就是我迄今为止为一家特定的公司所能提供的(发票和费用):
public function nextEvents($limit) {
$results = \DB::select(\DB::raw('SELECT `due_date` AS `date`, `total` as `amount`, CONCAT("Invoice #", `invoice_no`) as `title`, "income" as `type` FROM `invoices` WHERE `paid_on` IS NULL AND `company_id` = '.$this->id.'
UNION ALL
SELECT `due_date` as `date`, `amount`, `name` as `title`, "expense" as `type` FROM `expenses` WHERE `paid_on` IS NULL AND `company_id` = '.$this->id.' ORDER BY `date` LIMIT '.$limit));
return $results;
}为了更好地理解,您可能应该展示模型的结构。为了更好地理解,您可能应该展示模型的结构。