在Laravel中使用SESSION变量作为验证

时间:2017-02-17 12:07:13

标签: php laravel

我还在学习laravel

我有这样的表:

Item->ID
Item->User_ID

现在我得到一个选定的项目并使用以下代码将其ID设置为会话变量:

public function get_item($id){
$selected_item = item::where('id',$id)->where('User_ID',Auth::user()->id)->first   

$request->session()->put('item_id', $selected_item->id);

}

现在有了这个SESSION变量,我可以做其他事情,比如删除,编辑等:

public function delete_item(Request $request)
{
Item::where('id,$request->session()->get('item_id'))->delete();
}

现在有些人告诉我这是一个很好的做法,因为我只有一次到达数据库并设置它直到我选择另一个项目。有些人说我应该只使用更多的中间件而不是设置SESSION变量。由于我得到了如此多样化的意见,有人会告诉我这种方式是否正确?

1 个答案:

答案 0 :(得分:1)

会话是一种错误的方式。您必须将id作为查询字符串传递,然后执行编辑,删除或者您可以使用ajax,并且在按钮单击时您可以传递项目ID,然后执行编辑,删除等操作。