【发布时间】:2021-08-10 06:46:55
【问题描述】:
嘿,我想做一个用户 id、姓名和班次模式 id 的搜索功能。所有搜索功能都适用于所有人,但名称搜索失败。仅供参考,名称在用户表内,用户 ID 和班次模式 ID 在用户班次模式表内。
型号:-
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class UserShiftPattern extends Model
{
protected $fillable = ['name'];
public function shiftpattern(){
return $this->belongsTo(ShiftPattern::class, 'shift_pattern_id');
}
public function uspattern(){
return $this->belongsTo(User::class, 'user_id');
}
public function name(){
return $this->hasOne(User::class);
}
}
控制器:-
public function index(Request $req) {
$usershiftpattern = [];
if($req->filled('searching')){
$usershiftpattern = $this->fetch($req);
}
return view('admin.usershiftpattern', ['usps' => $usershiftpattern]);
}
public function fetch(Request $req) {
$fuserid = $req->inputuserid;
$fname = explode(",", str_replace(' ','',$req->inputname));
$fshiftpatternid = explode(",", str_replace(' ','',$req->inputshiftpatternid));
$usershiftpatternlist = UserShiftPattern::query();
if(isset($req->inputuserid)) {
$usershiftpatternlist = $usershiftpatternlist->where('user_id','LIKE','%' .$fuserid. '%');
}
if(isset($req->inputname)){
$usershiftpatternlist = $usershiftpatternlist->whereIn('name',$fname);
}
if(isset($req->inputshiftpatternid)){
$usershiftpatternlist = $usershiftpatternlist->whereIn('shift_pattern_id',$fshiftpatternid);
}
$usershiftpatternlist = $usershiftpatternlist->get();
return $usershiftpatternlist;
}
查看:-
<div class="text-right">
<br>
<button type="submit" name="searching" value="filter" class="btn-up">SEARCH</button>
</div>
<br>
</form>
<thead>
<tr>
<th>User ID</th>
<th>Name</th>
<th>Shift Pattern ID</th>
</tr>
</thead>
<tbody>
@foreach($usps as $uspslist)
<tr>
<td>{{ $uspslist->user_id }}</td>
<td>{{ $uspslist->uspattern->name }}</td>
<td>{{ $uspslist->shift_pattern_id }}</td>
</tr>
@endforeach
</tbody>
【问题讨论】:
标签: laravel eloquent laravel-8