鍍金池/ 問答/PHP/ 怎么用laravel的Eloquent ORM實現一條較為復雜的sql語句

怎么用laravel的Eloquent ORM實現一條較為復雜的sql語句

SELECT t.*,u.`name` 
FROM template t 
INNER JOIN `user` u 
ON u.id = t.user_id
WHERE t.is_delete = 1 
AND ( t.title LIKE "%abc%" or u.`name` LIKE "%abc%" )

以上是我想要實現的sql語句,model模型關聯關系都已經是正確的

如果在這基礎上再分頁 又是怎樣呢

回答
編輯回答
我以為

paginate()或者array_slice()自己處理 試一下

2018年6月15日 21:44
編輯回答
使勁操
Template::join('user', 'template.user_id', '=', 'user.id')
    ->where('is_delete', 1)
    ->where(function ($query) {
        $query->where('title', 'like', '%abc%')
            ->orWhere('user.name', 'like', '%abc%');
    })->skip(一頁顯示的記錄數*(當前頁-1))->take(一頁顯示的記錄數)
    ->get();

你可以試試,寫法就是這樣的

2018年4月2日 02:10