【问题标题】:Passing data from view to view in laravel在laravel中将数据从视图传递到视图
【发布时间】:2019-11-29 08:08:30
【问题描述】:

按下“Edytuj”按钮时,我需要将信息从视图传递到另一个视图

这是我的 SlideController (secondView)

 public function slideindex()
{
    $list = Slide::all();


    return view('slide-list', ["slidesList" => $list, "title" => "Slides index"
        ]);

我的路线

Route::get('index/createpresentation','DataController@createpresentation');

Route::post('index/','DataController@storepresentation');

Route::get('index/delete/{ID}','DataController@deletepresentation');

Route::get('index/edit/{ID}','SlideController@slideindex');

Route::get('index/','DataController@index');

Route::get('index/slideindex','SlideController@slideindex');

第二视角之刃

@extends('template')

@section('title'){{@title}} @endsection

@section('content')

<nav class="navbar fixed-top navbar-expand-lg navbar-light bg-light">
    <div class="collapse navbar-collapse" id="navbarNav">
        <ul class="navbar-nav">
            <li class="nav-item active">
                <a class="nav-link" href="/index">Index <span class="sr-only">(current)</span></a>
            </li>

            <li class="nav-item active">
                <a class="nav-link" href="">Dodaj slajd <span class="sr-only">(current)</span></a>
            </li>

             <li class="nav-item active">
                <span class="navbar-brand ">Presentation Name</span>
            </li>


        </ul>
    </div>
</nav>

<div class="container">
    <table class="table table-hover">
        <thead>
        <tr>
            <th>Id</th>
            <th>Nazwa</th>
            <th>Typ</th>
            <th>Akcja</th>
        </tr>
        </thead>
        <tbody>
        @foreach ($slidesList  as $slides )
            <tr>
                <th scope="row">{{$slides ->id}}</th>
                <td>{{$slides->slideName}}</td>
                <td>{{$slides->type}}</td>

            </tr>
        @endforeach
        </tbody>
    </table>
</div>
@endsection('content')

添加其他记录时需要以相同的方式工作

接下来我需要为第二个视图中的所有新记录分配相同的 ID。在同一个 ID 中,我的意思是向他们发送与我尝试发送的名称相对应的 ID

【问题讨论】:

    标签: php laravel laravel-blade


    【解决方案1】:

    有几种方法可以尝试

    • 使用您需要的所有值在表单之间发布数据
    • 将表单连接在一起并使用 jquery/js 在它们之间切换 功能
    • 将值存储在某种类型的 reddis 或 db 中,以便它们可以重复使用

    【讨论】:

    • 你能解释一下第一个解决方案吗?
    【解决方案2】:

    我认为您想传递您要编辑的行的 ID?

    你可以为此创建一个路由和一个控制器。

    例如:

    controller.php

    public function show($id) 
    {
    // logic here
    }
    

    web.php

    Route::get('/{id}', 'controller@show')->name('show.edit.form');
    

    然后您可以在 forloop 中创建一个链接:

        @foreach ($slidesList  as $slides )
            <tr>
                <th scope="row">{{$slides ->id}}</th>
                <td>{{$slides->slideName}}</td>
                <td>{{$slides->type}}</td>
                <td><a href="{{ route('show.edit.form', $slides->id) }}">EDIT</a></td>
            </tr>
        @endforeach
    

    如果要显示与演示文稿对应的所有幻灯片。 您可以在 Presentation 模型中添加一个方法:

    public function slides()
    {
        return $this->hasMany(Slide::class, 'your_foreign_key');
    }
    

    然后,如果您将演示文稿传递给视图,则可以执行以下操作:

    @foreach ($presentation->slides as $slide)
        // logic here
    @endforeach
    

    【讨论】:

    • 我需要在第二个视图中将 ID 关联的名称(nazwa prezentacji)传递到我指出的地方
    • 我不确定您要达到的目标。演示文稿上的外键是名称吗?
    • 简而言之,第一个视图用于演示文稿,第二个视图用于该演示文稿中的幻灯片。所以我需要与该幻灯片对应的名称
    • 不,我在想我会把外键放在 ID 上,这样我就可以将结果分组到一个 ID
    • 'name' 需要在这里,
    • 跨度>
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签