Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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 如何使用eloquent在Laravel4中运行查询_Php_Laravel_Laravel 4 - Fatal编程技术网

Php 如何使用eloquent在Laravel4中运行查询

Php 如何使用eloquent在Laravel4中运行查询,php,laravel,laravel-4,Php,Laravel,Laravel 4,我已经阅读了文档,但我不太明白如何在Laravel4中运行以下查询 SELECT COUNT(*) FROM acl a, routes r WHERE (a.user_id = 1 OR a.group_id IN(SELECT group_id FROM user_group_junction WHERE user_id = 1)) AND r.route = 'protected' AND a.routes_id = r.id;

我已经阅读了文档,但我不太明白如何在Laravel4中运行以下查询

SELECT
    COUNT(*)
FROM
    acl a,
    routes r
WHERE
    (a.user_id = 1 OR
     a.group_id IN(SELECT group_id FROM user_group_junction WHERE user_id = 1)) AND
     r.route = 'protected' AND
     a.routes_id = r.id;
那么,我将如何使用eloquent在Laravel4中运行查询呢

是,每个表都有一个模型,并且定义了关系

根据我选择的答案,以下是我的想法(和作品)


在雄辩模型上调用的方法传递到
illighte\Database\elogent\Builder
类,该类本身从
illighte\Database\Query\Builder
类扩展而来。这意味着所有你可以用的东西,你也可以用雄辩的模型来做。例外情况是不需要定义表

例如,如果您想执行连接和where,就像上面所做的那样,您只需执行以下操作:

$query = Acl::join('routes', 'acl.routes_id', '=', 'routes.id')
             ->where('routes.route', '=', 'protected');

$results = $query->get();
显然,这不是您的全部查询,但您可以找出其余的查询

$query = Acl::join('routes', 'acl.routes_id', '=', 'routes.id')
             ->where('routes.route', '=', 'protected');

$results = $query->get();