我在Laravel 5.4上有一个Query Builder问题,
我想在where语句中只选择某个字段。
如果我没有把WHERE语句函数放在SELECT函数上,那么很好,但是当我把WHERE LIKE函数放入时,似乎SELECT函数不能正常工作,它会自动选择所有(*)
Fyi,用户和地址表都有' name'领域。它只从用户表中选择名称。它工作得很好。
DB::table('user')
-leftJoin('address', 'user.id', '=', 'address.user_id')
->select('user.name')
->paginate(1);
但这不起作用
DB::table('user')
-leftJoin('address', 'user.id', '=', 'address.user_id')
->select('user.name')
->where('user.name', 'LIKE', '%jhon%')
->paginate(1);
我该如何做到这一点? 任何anwer都将受到高度赞赏!
答案 0 :(得分:1)
请写下这个。这将解决您的问题
DB::table('user')
->leftJoin('address', 'user.id', 'address.user_id')
->where('user.name', 'LIKE', '%jhon%')
->select('user.name')
->get();
答案 1 :(得分:0)
它的工作。给它一个测试。
DB::table('user')
->leftJoin('address', 'address.user_id', '=', 'user.id')
->where('user.name', 'like', '%jhon%')
->select('user.name')
->get();