将数据从视图传递到Laravel中的控制器

逆行

我知道通过URL传递记录ID通常不是一个好主意,但是我想知道如何避免这种情况:

我的目标是在用户仪表板上列出作业状态,并允许用户调整状态。

我创建我的视图,并使用会话将变量传递给它:

userController.php

public function getdashboard()
    {
       //reading the user information
    $arrPageData['user'] = Sentry::getUser();
       //reading the job interviews
    $arrPageData['jobInterviews'] = JobInterview::readCurrentInterviews($this->userID);

    return View::make('clients.dashboard', $arrPageData);
    }

这部分效果很好,我在路由中不使用记录ID。我遍历仪表板视图中的jobInterviews。根据数据库表中列出的状态,我为用户提供选项

查看文件:dashboard.blade.php(代码段)

@foreach ($jobInterviews as $interviews)
    @if ($interviews->j == $job->id)
        <tbody>
        <tr>
        <td>
        {{$interviews->contact_name}}
        @if ($interviews->status == 'interview request accepted')

    <a href="#"  class="btn btn-danger btn-small" data-toggle="modal" data-target=".mymodal{{ $interviews->interview_id }}">Hire</a>
       @elseif ($interviews->status == 'hired')
        <button id="complete" class="btn btn-info btn-small">Mark Project Complete</button>
        @endif
        </td>
        <td>{{$interviews->status}} </td>
        </tr>
        </tbody>
         ...

我遇到的问题是要完成作业状态更改,我正在调用该方法并传递记录ID:

仍在dashboard.blade.php

<form action="../jobs/offer/{{$interviews->interview_id}}" method="post">

然后通过以下路径进行路由:

Route::post('/jobs/offer/{id}','JobController@jobOffer');

一切都按我想要的方式工作,但是从安全角度来看,我认为我做的并不正确。从迭代过的数组中获取数据时,除了在路由中使用记录ID之外,还有没有更好的方法来调用jobOffer方法并更改状态?

在此先感谢您的帮助。

阿尔法

您可以尝试以下方法:

{{ Form::open(array('action' => array('JobController@jobOffer', $interviews->interview_id))) }}
    <!-- Rest of the form fields -->
{{ Form::close() }}

这样,您无需csrf/_method手动添加输入,默认情况下,您可以METHOD将其POST忽略。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将数据从视图控制器传递到其他视图控制器

将变量从控制器传递到视图-Laravel

将数据从控制器传递到Laravel中的视图

如何将数据传递到导航控制器中嵌入的集合视图控制器

将数据从视图传递到控制器(codeigniter)

如何从javascript将值返回从视图传递到Laravel中的控制器

将数据从控制器传递到刀片视图laravel

将数据从控制器传递到Laravel中的Model

将列表从视图传递到模型中的控制器

Swift-将数据从父视图控制器传递到子视图控制器

将数据从控制器传递到刀片视图

通过ajax onchange事件将数据从laravel视图传递到控制器

将数据从视图传递到控制器

将ManagedObjectContext传递/注入到视图控制器中

我无法将数据从控制器传递到Sencha Touch 2.4中的视图

Laravel将db数据从控制器传递到视图

将数据从控制器传递到laravel嵌套视图

将数据传递到导航控制器中的另一个视图控制器

Laravel将数据从视图传递到控制器

将数据从表视图传递到视图控制器

使用数组从视图(刀片)传递数据到 Laravel 中的控制器

将数据数组从控制器传递到视图 Codeigniter

使用委托将数据从集合视图控制器传递到视图控制器

将数据从表视图传递到 Swift 标签栏中的视图控制器

将数据从视图控制器传递到 tabbarviewcontroller

将数据从视图传递到控制器 - 使用模型

使用 Ajax 将数据从视图传递到控制器

如何在laravel中更改时使用javascript将变量从视图传递到控制器

将多个变量从不同控制器传递到 Laravel 8 中的单个视图