V4n*_*ll4 121 php mysql laravel-5
我正在使用以下代码从Laravel 5中获取数据库中的一些结果.
BookingDates::where('email', Input::get('email'))->orWhere('name', 'like', Input::get('name'))->get()
Run Code Online (Sandbox Code Playgroud)
但是,orWhereLike似乎不匹配任何结果.该代码在MySQL语句方面产生了什么?
我正在尝试实现以下内容:
select * from booking_dates where email='my@email.com' or name like '%John%'
Run Code Online (Sandbox Code Playgroud)
提前致谢.
Paw*_*zad 325
如果要查看数据库dd(DB::getQueryLog())中运行的内容,请查看运行的查询.
试试这个
BookingDates::where('email', Input::get('email'))
->orWhere('name', 'like', '%' . Input::get('name') . '%')->get();
Run Code Online (Sandbox Code Playgroud)
Ole*_*leg 18
我有这个范围,希望它可以帮助某人。 https://laravel.com/docs/master/eloquent#local-scopes
public function scopeWhereLike($query, $column, $value)
{
return $query->where($column, 'like', '%'.$value.'%');
}
public function scopeOrWhereLike($query, $column, $value)
{
return $query->orWhere($column, 'like', '%'.$value.'%');
}
Run Code Online (Sandbox Code Playgroud)
用法:
$result = BookingDates::whereLike('email', $email)->orWhereLike('name', $name)->get();
Run Code Online (Sandbox Code Playgroud)
小智 14
$data = DB::table('borrowers')
->join('loans', 'borrowers.id', '=', 'loans.borrower_id')
->select('borrowers.*', 'loans.*')
->where('loan_officers', 'like', '%' . $officerId . '%')
->where('loans.maturity_date', '<', date("Y-m-d"))
->get();
Run Code Online (Sandbox Code Playgroud)
M M*_*han 10
下面提到的查询对我有用,也许对某人会有帮助。
$platform = DB::table('idgbPlatforms')->where('name', 'LIKE',"%{$requestedplatform}%")->first();
Run Code Online (Sandbox Code Playgroud)
我认为这更好,遵循将参数传递给查询的良好做法:
BookingDates::whereRaw('email = ? or name like ?', [$request->email,"%{$request->name}%"])->get();
Run Code Online (Sandbox Code Playgroud)
您还可以使用 Laravel scout 并简化搜索。 这是文档。
| 归档时间: |
|
| 查看次数: |
239774 次 |
| 最近记录: |