在 laravel 中搜索时获取关系数据

Get relation data when search in laravel

我有 laravel 5.6 个项目 这是我的模型代码

public function getClassTreaner()
{
    return $this->hasOne('App\User', 'id', 'class_treaner');
}

public static function searchScoop($keyword)
{
    $data = Classe::where('id','like','%'.$keyword.'%')
        ->orWhere('class_name','like','%'.$keyword.'%')
        ->limit(30)
        ->get();

    return $data;
}

现在,当我在 js 代码中使用 Searchscoop 时,它看起来像这样:

$.ajax({
  type:'POST',
  url: path+'classsearch',
  data: {data:this.message},
  success:(data) => {
    if(data.length >= 1)
    {
      for(i = 0;i<data.length;i++)
      {
        this.arrayresults.push({id:data[i]['id'],class_name:data[i]['class_name'],class_start_time:data[i]['class_start_time'],class_end_time:data[i]['class_end_time'],class_date:data[i]['class_date'],class_treaner:data[i]['get_class_treaner']})
      }
      this.ok = true;
    }
    else
    {
      this.ok = false;
      this.noresult = true;
    }
   },
  error:function()
  {
    console.log("error");
  }
});

这一行:

this.arrayresults.push({id:data[i]['id'],class_name:data[i]['class_name'],class_start_time:data[i]['class_start_time'],class_end_time:data[i]['class_end_time'],class_date:data[i]['class_date'],class_treaner:data[i]['get_class_treaner']})

最后的结果get_class_treaner我无法访问模型关系视图ajax。

我试着写名字 getClassTreaner,但是我无法访问 ajax 中的模型数据。

如果在后端加载它,则只能在前端访问关系:

$data = Classe::where('id','like','%'.$keyword.'%')
    ->orWhere('class_name','like','%'.$keyword.'%')
    ->limit(30)
    ->with('getClassTreaner')
    ->get();