1
我有一個文本框,我試圖用來搜索數據庫,我試圖實現的是當我輸入日期(例如14/06/1996)放入文本框(searchdob)中,它將在數據庫中顯示具有此出生日期值的用戶。我試過使用我的AppointmentController來執行where條件,以便foreach循環保持整潔。Laravel-MYSQL搜索數據庫中的值,然後顯示它們
錯誤是:非靜態方法的Symfony \分量\ HttpFoundation \支持::獲得()不應該被靜態調用,在不兼容的情況下假設$此
AppointmentController
function addAppointment()
{
$doctors = Doctor::all();
$search = Request::get('searchdob');
$users = User::where('role', '=', 1)
->where('dateofbirth', 'LIKE', '%'.$search.'%')
->get();
return view('appointment/addappointmentform',['users'=>$users],['doctors'=>$doctors]);
}
addappointment.blade
<form>
Insert Patients date of birth
<input
type="text"
name="searchdob"
id="searchdob"
placeholder="dd/mm/yyyy"
onkeyup="
var v = this.value;
if (v.match(/^\d{2}$/) !== null) {
this.value = v + '/';
} else if (v.match(/^\d{2}\/\d{2}$/) !== null) {
this.value = v + '/';
}"
maxlength="10"
></form>
<fieldset>
<legend>Select the Patient</legend>
@foreach($users as $user)
<div>
<label for="dirBtn{{$user->id}}">
<input id="dirBtn{{$user->id}}" type="radio" name="user" value="{{$user->id}}">
{{$user->firstname}}
</label>
</div>
@endforeach
</fieldset>
這就解決了這個問題謝謝,我現在已經意識到我的foreach循環是錯誤的,而不是顯示帶插入日期的用戶,它讓每個用戶都在數據庫中,我應該刪除控制器中的where語句並嘗試類似於foreach循環的東西? – TF120
如果你想按照出生日期來過濾用戶,你應該把這個列添加到'$ dates'模型屬性中,並做這樣的事情' - > whereDate('dateofbirth',Carbon :: parse(request('searchdob')) ))' –
對不起......我有點困惑,我沒有日期模型,我有一個用戶模型,我應該把它放在那裏嗎? – TF120