You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel中无需表单将视图变量传递至/marka页面?

实现步骤

1. 修改视图链接,传递ID参数

直接把循环中的MarkaID作为URL参数拼接到跳转链接里,无需额外定义$query变量,简化代码:

@foreach($ispis as $marka)
    <a href="/marka/{{ $marka->MarkaID }}" class="link">
        <div class="column">
            <img src="/logoimg/{{$marka->ImeMarke}}.png" alt="">
        </div>
    </a>
@endforeach

2. 配置web.php路由

在路由文件中定义带参数的GET路由,指定对应的控制器和处理方法:

// web.php
use App\Http\Controllers\MarkaController;

Route::get('/marka/{markaId}', [MarkaController::class, 'show']);

3. 创建控制器并编写数据处理逻辑

首先用Artisan命令生成控制器:

php artisan make:controller MarkaController

然后在app/Http/Controllers/MarkaController.php中编写show方法,接收ID参数、查询对应数据并传递到视图:

<?php

namespace App\Http\Controllers;

use App\Models\Marka; // 请根据实际模型名称修改

class MarkaController extends Controller
{
    public function show($markaId)
    {
        // 根据ID查询数据,findOrFail会在无匹配数据时返回404页面
        $marka = Marka::findOrFail($markaId);
        
        // 将数据传递给marka视图
        return view('marka', compact('marka'));
    }
}

4. 编写marka视图展示匹配数据

在resources/views/marka.blade.php中,使用传递过来的$marka变量展示对应ID的信息,示例如下:

<h1>{{ $marka->ImeMarke }}</h1>
<table>
    <tr>
        <th>品牌ID</th>
        <td>{{ $marka->MarkaID }}</td>
    </tr>
    <!-- 根据你的数据表结构,添加其他需要展示的字段 -->
    <tr>
        <th>其他字段</th>
        <td>{{ $marka->your_field_name }}</td>
    </tr>
</table>

补充说明

  • 这种方式通过URL GET参数传递ID,完全不需要表单,符合你的需求。
  • 模型名Marka需根据项目实际的Eloquent模型名称调整,确保对应的数据表。
  • 若需要自定义无匹配数据时的提示,可将findOrFail替换为find,并添加空值判断逻辑。

内容的提问来源于stack exchange,提问作者Troffolos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 04:15:49