Я хочу использовать активное построение записей Eloquent для создания поискового запроса, но это будет поиск LIKE. Я нашел User::find($term)
или User::find(1)
, но это не генерирует подобное утверждение. Я не ищу прямого ответа, но было бы здорово, если бы кто-нибудь дал мне хотя бы направление, куда я могу заглянуть!
93
Ответы:
Вы можете выполнять поиск в базе данных, используя LIKE, со следующим синтаксисом:
Model::where('column', 'LIKE', '%value%')->get();
источник
table.field
.Если вам нужно часто использовать LIKE, вы можете немного упростить задачу. Пользовательский метод, такой как (), может быть создан в модели, наследующей Eloquent ORM:
public function scopeLike($query, $field, $value){ return $query->where($field, 'LIKE', "%$value%"); }
Итак, вы можете использовать этот метод таким образом:
User::like('name', 'Tomas')->get();
источник
->where()
.FYI, список операторов (содержащий подобные и все остальные) находится в коде:
/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php protected $operators = array( '=', '<', '>', '<=', '>=', '<>', '!=', 'like', 'not like', 'between', 'ilike', '&', '|', '^', '<<', '>>', 'rlike', 'regexp', 'not regexp', );
отказ от ответственности:
Ответ Джоэла Ларсона правильный. Получил свой голос
Я надеюсь, что этот ответ проливает больше света на то, что доступно через Eloquent ORM ( указывает на людей в правильном направлении ). Хотя ссылка на документацию была бы намного лучше, эта ссылка оказалась неуловимой.
источник
Используйте двойные кавычки вместо одинарных, например:
where('customer.name', 'LIKE', "%$findcustomer%")
Ниже мой код:
public function searchCustomer($findcustomer) { $customer = DB::table('customer') ->where('customer.name', 'LIKE', "%$findcustomer%") ->orWhere('customer.phone', 'LIKE', "%$findcustomer%") ->get(); return View::make("your view here"); }
источник
Если вам не нравятся двойные кавычки, как я, это сработает для вас с одинарными кавычками:
$value = Input::get('q'); $books = Book::where('name', 'LIKE', '%' . $value . '%')->limit(25)->get(); return view('pages/search/index', compact('books'));
источник