使用laravel 5.5无法进行laravel关系

时间:2018-04-26 08:13:39

标签: php laravel foreign-keys relationship

我正面临着存储ID并从两个不同的表中显示其值的问题我有1个表business_master而其他表是page_master我已将business_name列与page_url列结合使用,如果我首先添加我的业务和页面,则可在page_master表中使用时间它成功地将这两个值组合在一起,因为一个企业可以有很多页面,如果我只是第二次添加页面,我无法通过page_url列看到business_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 :(得分:0)

你必须改变你的控制器代码:

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

varialbe $ pageList将包含该表的所有行以及相关的Business表行。