小编Guf*_*ran的帖子

如何用postgresql按计数排序?

我有两张桌子:

Companies: (id, name, city)
Workers: (id, name)
Run Code Online (Sandbox Code Playgroud)

我想让所有公司按照雇员人数排序.

结果应该给:

count | company id | company name | city
------------------------------------------
90         6           foo corp      NY
45         9           bar corp      LA
0          3         foobar corp     HO
Run Code Online (Sandbox Code Playgroud)

我试过了:

select 
    c.*, 
    count(w.id) as c 
from 
    companies c 
left join 
    workers w 
on 
    c.id = w.company_id 
group by 
    c.id 
order by 
    c desc;
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为它告诉我也按g.name分组:/

有任何想法吗?

sql postgresql join count

21
推荐指数
2
解决办法
2万
查看次数

Laravel,路由通配符来过滤然后控制器

我试图从URL捕获一个通配符,然后首先将其传递给过滤器,然后路由到控制器.我不确定如何准确地绘制问题,但这是我到目前为止所尝试的内容.

Route::get('test/(:any?)', array('as' => 'testroute', 'uses' => 'test@result', 'before' => "test_filter:$1"));

Route::filter('test_filter', function($id = NULL)
{
    if($id)
    echo "This id is " . $id;    // Prints "This id is $1"
});
Run Code Online (Sandbox Code Playgroud)

Route::get('test/(:any?)', array('as' => 'testroute', function($id = NULL)
{
    if($id)
        echo "this id is " . $id;    // Does not do anything
}, 'uses' => 'test@result'));
Run Code Online (Sandbox Code Playgroud)

基本上,我想检查是否有一个id附加到URL并设置一个cookie(如果有的话).但无论如何,我都希望这个路由由控制器处理,无论是否附加了任何id.

我必须用这么多路径做同样的事情,所以我更喜欢像过滤器这样的东西,而不是修改控制器的代码.

我知道我可以直接将通配符元素传递给闭包,或者我可以将它作为参数提供给任何控制器,但在这种情况下我将不得不修改控制器代码,这是我目前无法做到的.

我可以通过过滤器吗?或者我不需要修改控制器代码的任何其他方式?

controller routes wildcard filter laravel

5
推荐指数
1
解决办法
1101
查看次数

标签 统计

controller ×1

count ×1

filter ×1

join ×1

laravel ×1

postgresql ×1

routes ×1

sql ×1

wildcard ×1