Невозможно сделать отношения Laravel, используя Laravel 5.5 - PullRequest
0 голосов
/ 26 апреля 2018

У меня возникла проблема, связанная с хранением идентификаторов и отображением их значений из двух разных таблиц. У меня есть 1 таблица business_master, а другая таблица - page_master. У меня есть объединение столбца business_name со столбцом page_url, которые доступны в таблице page_master, если я сначала добавлю свою компанию и страницуКогда он успешно объединяет эти два значения, так как одна компания может иметь много страниц, и если я только добавлю страницу во второй раз, я не смогу увидеть business_url со столбцом page_url.

Модель моей страницы:

class PageList extends Model
      {
protected $table = 'page_master';


protected $fillable = ['business_id', 'page_url', 'page_name'];


public function business()
{
    return $this->hasOne('App\Business','business_id');
}

   }

и на мой взгляд:

 <td>{{optional($value->business)->business_url}}.spikesales.io/{{$value->page_url}}</td>

Это мой первый раз, если я добавлю business_url и page_url

    hussain.spikesales.io/house

, а затем, если я добавлю только страницу, вывод будет что-то вроде этого

   .spikesales.io/hello

одна компания может иметь много страниц, к которым она должна прикрепить также business_ url, но я не могу найти решение:

Любая помощь будет высоко оценена!

    public function pageListHere()
{
    $list = PageList::all();
    return view('page-list',compact('list'));
}

1 Ответ

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

Вы должны изменить код контроллера следующим образом:

$list = PageList::select('*');
$list->with(
                array('business'=>function($query){
                    $query->select('*');
                }));
$pageList = $list->get();
return view('page-list',compact('pageList'));

В переменной var $ $ pageList будут все строки этой таблицы вместе со связанными строками бизнес-таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...