【问题标题】:Raw query to Eloquent. laravel对 Eloquent 的原始查询。拉拉维尔
【发布时间】:2014-11-12 06:02:31
【问题描述】:

分页器的每页不起作用。显示所有结果。我需要原始 sql 到 Eloquent。请帮忙。 Eloquent 可以分页。

SELECT p.id, p.name, p.image_filename, p.contact, p.price, p.created_at FROM product p
INNER JOIN
category c ON p.category_id = c.id AND (c.lft BETWEEN '.$left.' AND '.$right.')
ORDER BY p.created_at DESC 



$products = DB::select(DB::raw($query)); 
$pagination = Paginator::make($products, count($products), 5);

【问题讨论】:

    标签: php jquery laravel eloquent


    【解决方案1】:
    $between = array($left, $right);
    Product::join('category', function($join) {
        $join->on('product.category_id', '=', 'category.id');
    })
    ->whereBetween('category.lft', $between)
    ->select('product.id', 'product.name', 'product.image_filename', 'product.contact', 'product.price', 'product.created_at')
    ->orderBy('product.created_at', 'desc')
    

    【讨论】:

    • 谢谢。但显示此错误。 Call to undefined method Illuminate\Database\Query\JoinClause::whereBetween()
    猜你喜欢
    • 2018-05-10
    • 2015-04-13
    • 1970-01-01
    • 2018-01-01
    • 2015-08-24
    • 2017-09-19
    • 1970-01-01
    • 2018-07-23
    • 2019-08-14
    相关资源
    最近更新 更多