【发布时间】:2022-11-18 08:44:10
【问题描述】:
我正在尝试编写一个简单的事件页面。此页面应显示特定事件及其功能(包括与问题无关的其他信息)。
我已经尝试了几种不同的方法但没有运气,这是我觉得我可能最接近成功的方法,有什么建议吗?
如果您认为问题出在其他地方,我可以提供其他代码摘录,但我认为我的问题出在这 7 个文件中。
我遇到的当前错误是“此集合实例上不存在属性 [功能]”。并指向 EventController show() 函数。如果有人能提供帮助,我将不胜感激。
网站.php
Route::get('cards/{id}', 'CardController@show');
Route::get('event/{id}', 'EventController@show');
事件.blade.php
<h1 class="big-title">
</h1>
<section id="events">
@each('partials.event', $event, 'event')
</section>
(部分)event.blade.php
<header>
<h2 class="event-name fsb">
{{ $event->name }}
</h2>
</header>
<p class="event-description pdl1em">
{{ $event->description }}
</p>
<ul class="event-dates pdl1em">
<ul>
@each('partials.features', $event_features, 'feature')
</ul>
</ul>
事件.php
class Event extends Authenticatable
{
public function features() {
return $this->hasMany('App\Models\EventFeature');
}
}
事件特征.php
class EventFeature extends Authenticatable
{
public function event() {
return $this->belongsTo('App\Models\Event');
}
}
事件控制器
class EventController extends Controller
{
public function show($id)
{
$event = DB::table('event')->where('id', $id)->get();
return view('pages.event', ['event' => $event, 'features' => $event->features]);
}
}
事件特征控制器
class EventFeatureController extends Controller
{
public function show($id)
{
$event_features = DB::table('event_features')->where('id', $id)->get();
return view('pages.event', ['event' => $event_features->eventClass, 'features' => $event_features]);
}
public function list($event_id)
{
if (!Auth::check()) return redirect('/login');
$event_features = DB::table('event_features')->where('event_id', $event_id)->orderBy('id')->get();
return view('pages.event', ['event_features' => $event_features]);
}
}
【问题讨论】: