【问题标题】:Unable to do laravel relationships using laravel 5.5无法使用 laravel 5.5 建立 laravel 关系
【发布时间】:2018-10-06 20:38:25
【问题描述】:

我在存储 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'));
}

【问题讨论】:

  • 您应该将控制器代码发布到您正在获取数据并将其传递给视图的位置。
  • 我添加了控制器代码,请看。

标签: php laravel foreign-keys relationship


【解决方案1】:

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

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

变量 $pageList 将包含该表的所有行以及相关的业务表行。

【讨论】:

  • 以及我将在我的视图中传递哪个变量
  • {{optional($value->business)->business_url}}.spikesales.io/{{$value->page_url}}这里
  • 我在我的视图 $list 中有 foreach 循环作为 $value
  • 请查看更新后的答案。并在循环中使用$pageList 更改您的变量名,它将起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-11
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多