php - 以下场景的流畅查询

标签 php mysql laravel-4 eloquent

我在数据库中有一个程序列表。每个计划都有一个该计划所属的 organization_id,以及 start_dateend_date

我的问题是,如果给出两个日期,并且我必须获取在特定组织的日期之间开始或在日期之间结束的所有程序,那么查询应该是什么样子。以下查询返回超出组织范围(不属于组织)的所有程序。

<?php

DB::table('programs')
    ->where('organization_id', $organizationidlist[0])
    ->whereBetween('start_date', array($start_date, $end_date))
    ->orWhere(function ($query) use($start_date, $end_date, $organizationidlist) {
        $query
            ->where('organization_id', $organizationidlist[0])
            ->whereBetween('end_date', array($start_date, $end_date))
        ;
    })
    ->orderBy('created_at', 'desc')
    ->get()
;

?>

最佳答案

为什么不用 Eloquent 模型来做到这一点? Laravel 有一个非常好的数据模型系统。您可以轻松地做您想做的事情,例如:

Organization::find($id)->projects()->where('start_date', '>', $start)->where('end_date', '<', $end)->orderBy('created_at', 'desc')->get();

http://laravel.com/docs/eloquent

关于php - 以下场景的流畅查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19777697/

相关文章:

php - Homestead:通过重新安装盒子降级到 MySQL 5.6

php - 在 php 中使用 pascal 数据

php - mysql插入数据时出错

php - 通过 PHP 获取远程 XML 文件的一部分的最有效方法是什么?

php - MYSQL 用链接数据更新字段

没有安装程序下载链接的 MySql?

mysql - 列出从 Laravel 查询中获取的数据

php - laravel undefined index session

mysql - 如何按照我的意愿将文本文件最好地上传到数据库中? (在C中)

laravel-4 - 在 migrate laravel 中的同一张表上创建多个外键