为了账号安全,请及时绑定邮箱和手机立即绑定

在 Laravel 中同时从另外两个模型中获取值

在 Laravel 中同时从另外两个模型中获取值

PHP
交互式爱情 2022-01-14 17:00:03
基本上我在控制器中有一个功能,它是public function get_all_clubs($city){    $city           = ucwords($city);    $city_des       = Town::where('town', $city)->value('town_desc');    $clubs          = Club::get()->where('city', $city)->where('profile_enabled', '1');    $events         = Event::where('club_id', $clubs->first()->id)->get();    $lowercase_city = Str::lower($city);    return view('frontend.pages.allclubs', compact('clubs', 'lowercase_city', 'city_des', 'events', 'flag'));}正如您可能已经想到的那样,事件和俱乐部表使用 id 相关联。我已经能够根据 club_id 获得与城市相关的事件。在我看来,我正在使用 @foreach Laravel 语法来呼应每个事件。然而问题是我需要为我的视图上的每个事件创建一个超链接。路线的结构如下:<a href="{{ route('event.show_event', [$club->slug, $event->slug]) }}">实际上,我需要传递我已经拥有的$ event->slug 以及$club->slug这就是我的问题,我如何在我的@foreach 循环中获取这个变量。请注意,我是一名中级 Laravel/php 开发人员。我的看法如下@foreach ($events as $event)@if ( ( (strtotime((str_replace('/', '-', $event->date))))  >= (strtotime("today")) ) && ($event->event_private))  @php $flag='1'; @endphp      <li>                                              <div class="widget-posts-body">            <a href= "">  <h6 class="widget-posts-title">  {{$event->title}}  </h6>  </a>         </div>      </li>@endif@if ( ($loop->index) == '10' )    @break    @endif    @endforeach@if($flag != '1')    <li>        <p> There are no events live at this time. Please check back later</p>                     </li>@endif
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

在事件模型中与俱乐部建立一对一的关系,如下所示:


/**

 * @return \Illuminate\Database\Eloquent\Relations\HasOne

 */

public function club()

{

    return $this->hasOne(Club::class);

}

然后像这样在视图中调用它:


<a href="{{ route('event.show_event', [$event->club->slug, $event->slug]) }}">


查看完整回答
反对 回复 2022-01-14
  • 1 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信