Php Symfony\Component\Debug\Exception\FatalThroTableError调用laravel中bool上的成员函数get()?

Php Symfony\Component\Debug\Exception\FatalThroTableError调用laravel中bool上的成员函数get()?,php,laravel,eloquent,laravel-8,eloquent-relationship,Php,Laravel,Eloquent,Laravel 8,Eloquent Relationship,我想做一个用户名和轮班模式id的搜索功能。按用户轮班模式id搜索效果很好,但按名称搜索不起作用。有关详细信息,名称位于用户表内,换档模式id位于用户换档模式表内 UserShiftPattern模型:- public function uspname(){ return $this->belongsTo(User::class, 'user_id'); } public function index(Request $req) { $usershift

我想做一个用户名和轮班模式id的搜索功能。按用户轮班模式id搜索效果很好,但按名称搜索不起作用。有关详细信息,名称位于用户表内,换档模式id位于用户换档模式表

UserShiftPattern模型:-

    public function uspname(){
      return $this->belongsTo(User::class, 'user_id');
    }
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)
{
    $fname = explode(",", str_replace(' ','',$req->inputName));
    $fshiftpatternid = explode(",", str_replace(' ','',$req->inputShiftPatternId));

    $usershiftpatternlist = UserShiftPattern::query();
    $userusp = UserShiftPattern::with('uspname')->get();

    if(isset($req->inputName)){
        $usershiftpatternlist = $userusp->whereIn('name',$fname);
    }
    
    if(isset($req->inputShiftPatternId)){
        $usershiftpatternlist = $usershiftpatternlist->whereIn('shift_pattern_id',$fshiftpatternid);
    }

    $usershiftpatternlist = $usershiftpatternlist->has('uspattern')->get();

    return $usershiftpatternlist;
}    
<tbody>
                @foreach($usps as $uspslists => $uspslist)
                <tr>
                    <td>{{ $uspslist->uspattern->name }}</td>
                    <td>{{ $uspslist->shift_pattern_id }}</td>
                </tr>
                @endforeach
            </tbody>
UserShiftPatternController:-

    public function uspname(){
      return $this->belongsTo(User::class, 'user_id');
    }
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)
{
    $fname = explode(",", str_replace(' ','',$req->inputName));
    $fshiftpatternid = explode(",", str_replace(' ','',$req->inputShiftPatternId));

    $usershiftpatternlist = UserShiftPattern::query();
    $userusp = UserShiftPattern::with('uspname')->get();

    if(isset($req->inputName)){
        $usershiftpatternlist = $userusp->whereIn('name',$fname);
    }
    
    if(isset($req->inputShiftPatternId)){
        $usershiftpatternlist = $usershiftpatternlist->whereIn('shift_pattern_id',$fshiftpatternid);
    }

    $usershiftpatternlist = $usershiftpatternlist->has('uspattern')->get();

    return $usershiftpatternlist;
}    
<tbody>
                @foreach($usps as $uspslists => $uspslist)
                <tr>
                    <td>{{ $uspslist->uspattern->name }}</td>
                    <td>{{ $uspslist->shift_pattern_id }}</td>
                </tr>
                @endforeach
            </tbody>
查看:-

    public function uspname(){
      return $this->belongsTo(User::class, 'user_id');
    }
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)
{
    $fname = explode(",", str_replace(' ','',$req->inputName));
    $fshiftpatternid = explode(",", str_replace(' ','',$req->inputShiftPatternId));

    $usershiftpatternlist = UserShiftPattern::query();
    $userusp = UserShiftPattern::with('uspname')->get();

    if(isset($req->inputName)){
        $usershiftpatternlist = $userusp->whereIn('name',$fname);
    }
    
    if(isset($req->inputShiftPatternId)){
        $usershiftpatternlist = $usershiftpatternlist->whereIn('shift_pattern_id',$fshiftpatternid);
    }

    $usershiftpatternlist = $usershiftpatternlist->has('uspattern')->get();

    return $usershiftpatternlist;
}    
<tbody>
                @foreach($usps as $uspslists => $uspslist)
                <tr>
                    <td>{{ $uspslist->uspattern->name }}</td>
                    <td>{{ $uspslist->shift_pattern_id }}</td>
                </tr>
                @endforeach
            </tbody>

@foreach($usps as$uspslist=>$uspslist)
{{$uspslist->uspattern->name}
{{$uspslist->shift\u pattern\u id}
@endforeach
出现错误:-

    public function uspname(){
      return $this->belongsTo(User::class, 'user_id');
    }
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)
{
    $fname = explode(",", str_replace(' ','',$req->inputName));
    $fshiftpatternid = explode(",", str_replace(' ','',$req->inputShiftPatternId));

    $usershiftpatternlist = UserShiftPattern::query();
    $userusp = UserShiftPattern::with('uspname')->get();

    if(isset($req->inputName)){
        $usershiftpatternlist = $userusp->whereIn('name',$fname);
    }
    
    if(isset($req->inputShiftPatternId)){
        $usershiftpatternlist = $usershiftpatternlist->whereIn('shift_pattern_id',$fshiftpatternid);
    }

    $usershiftpatternlist = $usershiftpatternlist->has('uspattern')->get();

    return $usershiftpatternlist;
}    
<tbody>
                @foreach($usps as $uspslists => $uspslist)
                <tr>
                    <td>{{ $uspslist->uspattern->name }}</td>
                    <td>{{ $uspslist->shift_pattern_id }}</td>
                </tr>
                @endforeach
            </tbody>
Symfony\Component\Debug\Exception\FatalThroTableError 对bool上的成员函数get()的调用


请帮助,谢谢

我想你需要修改你的查询

    $fshiftpatternid = explode(",", str_replace(' ','',$req->inputShiftPatternId));
    
    $usershiftpatternlist = UserShiftPattern::query();
       
    
  if(isset($req->inputName)&&!empty($req->inputName)){
    $usershiftpatternlist = $usershiftpatternlist->whereHas('uspname',function($q)use($req){
     $q->where('name','like',  "%{$req->inputName}%");
    });
}
    
    if(isset($req->inputShiftPatternId)){
        $usershiftpatternlist = $usershiftpatternlist->whereIn('shift_pattern_id',$fshiftpatternid);
    }
    
    $usershiftpatternlist = $usershiftpatternlist->has('uspattern')->get();
    
    return $usershiftpatternlist;

数据未显示,但出现此选项卡错误-->最长执行时间超过30秒您认为我们是否需要将关系嵌入usershiftpattern模型?你觉得呢?我已经得到我的查询日志了,那么@JohnLobo?如何阅读和理解查询?hmm://code>name在(?)[ShaharuddinBinMohamad]中从
users
中选择*where
users
id
=?限制1[55763]-->意味着?让我们。