我寫了一個正常的搜索查詢,它工作正常,但我有 在我的項目中實現laravel分頁,但laravel分頁不正常查詢,因此我想使用查詢生成器將我的搜索查詢轉換爲laravel查詢。如何將正常的搜索查詢轉換成laravel查詢生成器
我正常的搜索查詢是: -
$query="SELECT t.* FROM (SELECT users.`id`,users.`email`,users.`u_firstname`,users.`u_lastname`,users.`u_dob`,users.`u_mobile`,user_roles.`ur_role_id`,UCASE(master_roles.`role_name`) as roles,case users.`u_status` when '0' then 'Inactive' when '1' then 'Active' when '4' then 'Deactivate' end as status,users.`u_status` FROM `users` inner join user_roles on user_roles.`ur_user_id`=users.`id` inner join master_roles on user_roles.`ur_role_id`=master_roles.`role_id`) t WHERE (t.status LIKE '$search%' or t.u_firstname like '$search%' or t.u_lastname like '$search%' or t.email like '$search%' or t.u_mobile like '$search%' or t.u_dob like '$search%' or t.roles like '$search%') and t.id!='$id' and t.u_status!='3'";
我想我的查詢轉換以這種形式我已經獲取的所有結果上,我必須施加尋找,但我沒有得到如何應用搜索與所有列IA無法搜索的概念在下面的查詢關鍵詞,比如用戶類型VARUN集成然後它會從所有列搜索和只給出這一結果: - 乳寧上述laravel查詢我得到如下輸出後
$post = DB::table('users')
->join('user_roles','users.id','=','user_roles.ur_user_id')
->join('master_roles','user_roles.ur_role_id','=','master_roles.role_id')
->select('users.id','users.email','users.u_firstname','users.u_lastname','users.u_dob','users.u_mobile','user_roles.ur_role_id','master_roles.role_name as roles',DB::raw('(CASE WHEN users.u_status ="0" THEN "Inactive" when "1" then "Active" END) AS status'))
->where('users.id','!=',$id)
->get();
和現在我必須 應用搜索的一部分; -
..............................................................................
id email u_firstname u_lastname roles status
..........................................................................
1 [email protected] a b seller Active
2 [email protected] c d Buyer Inactive
只是使用DB :: raw –
是的,但是在這之後不能夠像這樣使用內置的laravel分頁$ post = DB :: select(DB :: raw($ query)) - > pagination(5);它給我錯誤,我想轉換正常的查詢使用laravel分頁。 –
給我錯誤意味着什麼都不能解釋你得到什麼錯誤? –