Получить данные о связи при поиске в laravel - PullRequest
0 голосов
/ 29 апреля 2018

У меня есть проект 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;
}

Теперь, когда я использую Searchscoop в коде js, это выглядит так:

$.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.

1 Ответ

0 голосов
/ 29 апреля 2018

Вы можете получить доступ к отношению только в своем веб-интерфейсе, если вы загрузите его в бэкэнд:

$data = Classe::where('id','like','%'.$keyword.'%')
    ->orWhere('class_name','like','%'.$keyword.'%')
    ->limit(30)
    ->with('getClassTreaner')
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...