如何保护删除以前的class元素值

时间:2016-02-09 19:05:07

标签: php ajax class oop laravel

我在laravel中有控制器类,其中我有一个函数create()和一个可变附件我通过ajax调用函数 我的班级代码是。

class AttachmentController extends Controller
{
    public  $_attachments;

    public function create()
    {

            $this->_attachments[]=  'test';

            var_dump($this->_attachments);



    }

问题是每当我通过ajax调用它时它会返回我" test"在附件数组的0索引处。但我想如果我第一次调用创建函数它给我测试0索引,但下次我调用它时。它给了我"测试"在0和1索引等等.. 怎么可能请帮帮我

3 个答案:

答案 0 :(得分:0)

要保留您需要将它们存储在某个地方的请求之间的值,另一种方法是使用会话,如下例所示,有关详细信息,请参阅https://laravel.com/docs/session

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class AttachmentController extends Controller
{
    public function create(Request $request)
    {   
        $request->session()->push('attachments', 'test');
        var_dump($request->session()->get('attachments'));
    }   
}

答案 1 :(得分:0)

尝试这样的事情。

$_attachments[] =  Session::get('test');
$_attachments[] = 'test';
Session::get('test', $_attachments);
dd(Session::get('test'));

如果这是你想要的,请告诉我。

答案 2 :(得分:0)

  

由于HTTP驱动的应用程序是无状态的,因此会话提供了一种方法   在请求中存储有关用户的信息。

class AttachmentController extends Controller
{
    public function create()
    {
        $attachments = Session::get('attachments', array());

        $attachments[] = 'test';

        Session::put($attachments);

        var_dump($this->_attachments);
    }
}

进一步阅读:Laravel Session