【问题标题】:Details page content based on url基于 url 的详情页内容
【发布时间】:2018-06-18 02:51:32
【问题描述】:

我有一个使用以下代码的事件列表:

@foreach($entries as $entry)

<a href="{{ url('events/eventdetails', [$entry->id]) }}"> {{$entry->title}} </a><br>

@endforeach

所以在详细信息页面上,ID 显示在 URL 中,例如 http://127.0.0.1:8000/events/eventdetails/1

但是,此页面上的内容当前并不特定于该 ID...我想要实现的目标。

我可以使用$entry-&gt;id 在详细信息页面上显示 ID,但我不知道如何交叉检查页面 ID 与事件 ID 以仅显示与一个 ID 相关的内容。

当我执行&lt;?php print_r($entries);?&gt; 时,我会得到类似的结果(完整显示所有条目的代码示例)...

Illuminate\Database\Eloquent\Collection Object ( [items:protected] => Array ( [0] => App\Event Object ( [connection:protected] => sqlite [table:protected] => [primaryKey:protected] => id [keyType:protected] => int [incrementing] => 1 [with:protected] => Array ( ) [withCount:protected] => Array ( ) [perPage:protected] => 15 [exists] => 1 [wasRecentlyCreated] => [attributes:protected] => Array ( [id] => 1 [title] => Spring Festival 

控制器:

class EventsController extends Controller
{
    public function displayEvent()

    {
        $entries = Event::get();
        return view('eventdisplay', ['entries' => $entries]);

    }
public function displayEventDetails()

{

    $entries = Event::get();
  //  $entries->id = $id;
    return view('eventdetails', ['entries' => $entries]);

}

路线:

Route::get('events/eventdetails/{id}', 'EventsController@displayEventDetails')->name('displayEventDetails');

【问题讨论】:

  • 为什么在括号中使用 $entry->id ?
  • 你的网址是什么样子的?
  • Annapurna 我已更新问题以包含此内容。
  • ramin ashrafimanesh 没有它们也可以工作。

标签: php arrays laravel object


【解决方案1】:

您用于处理详细信息视图的函数缺少作为变量传递给函数的 URL 参数:

public function displayEventDetails(){...}
// should be
public function displayEventDetails($eventId){...}

这样您就可以将您的 Event 模型过滤为单个 id:

$entries = Event::where("id", "=", $eventId)->first();
// or
$entries = Event::find($eventId);
// or
$entries = Event::findOrFail($eventId);
// etc, etc

您的 url 看起来可以正确处理此问题,因为 {id} 指定该参数应作为变量提供给控制器。

我也相信Event 是 Laravel 中的保留关键字,所以你应该使用命名空间来避免那里的冲突,或者重命名你的模型。

【讨论】:

  • 你的明星!谢谢你。是的,我最近发现了将事件命名为事件的问题,并将很快纠正这个问题。非常感谢蒂姆。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多