我在laravel中有一个控制器类,其中我有一个函数create()和一个变量附件,我正在通过ajax调用函数我的类代码是。
class AttachmentController extends Controller
{
public $_attachments;
public function create()
{
$this->_attachments[]= 'test';
var_dump($this->_attachments);
}
问题是每次我通过 ajax 调用它时,它都会在附件数组的 0 索引处返回"test"。 但是我希望如果我第一次调用创建函数,它会在 0 索引上给我测试,但下次我调用它时. 它给了我对 0 和 1 索引的"测试",依此类推。怎么可能,请帮我<</p>
要在请求之间保留值,您需要将它们存储在某个地方,另一种方法是使用会话,如下例所示,有关更多信息,请参阅 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'));
}
}
尝试这样的事情。
$_attachments[] = Session::get('test');
$_attachments[] = 'test';
Session::get('test', $_attachments);
dd(Session::get('test'));
让我知道这是否是你想要的。
由于 HTTP 驱动的应用程序是无状态的,因此会话提供了一种方式 跨请求存储有关用户的信息。
class AttachmentController extends Controller
{
public function create()
{
$attachments = Session::get('attachments', array());
$attachments[] = 'test';
Session::put($attachments);
var_dump($this->_attachments);
}
}
延伸阅读: 拉拉维尔会议