Laravel:查询生成器选择Where Like Statement

时间:2017-04-16 03:42:32

标签: laravel laravel-5.4

我在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都将受到高度赞赏!

2 个答案:

答案 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();