Php Laravel+将元素添加到cookie中,并且不包括在查询中
我正在努力做到以下几点: 页面加载时: 从数据库中随机选择一个想法 我的代码:Php Laravel+将元素添加到cookie中,并且不包括在查询中,php,arrays,laravel,laravel-5,cookies,Php,Arrays,Laravel,Laravel 5,Cookies,我正在努力做到以下几点: 页面加载时: 从数据库中随机选择一个想法 我的代码: public function index() { if(Cookie::get('ideas')) { $ideas = Cookie::get('ideas'); $ideas = unserialize($ideas); } else { $ideas = array(); } $random_idea =
public function index()
{
if(Cookie::get('ideas'))
{
$ideas = Cookie::get('ideas');
$ideas = unserialize($ideas);
}
else
{
$ideas = array();
}
$random_idea = Idea::inRandomOrder()->first();
$ideas[] = $random_idea->id;
Cookie::queue('ideas', serialize($ideas));
return view('app', compact('random_idea'));
}
public function idea(Request $request)
{
$ideas = Cookie::get('ideas');
$ideas = unserialize($ideas);
$random_idea = Idea::inRandomOrder()->first();
$ideas[] = $random_idea->id;
Cookie::queue('ideas', serialize($ideas));
return response()->json($random_idea);
}
我正在检查cookie是否已设置,如果已设置,则将随机想法添加到cookie中。如果不是,则创建新数组并将id添加到数组中
当他们通过ajax调用单击页面上的按钮时
我的代码:
public function index()
{
if(Cookie::get('ideas'))
{
$ideas = Cookie::get('ideas');
$ideas = unserialize($ideas);
}
else
{
$ideas = array();
}
$random_idea = Idea::inRandomOrder()->first();
$ideas[] = $random_idea->id;
Cookie::queue('ideas', serialize($ideas));
return view('app', compact('random_idea'));
}
public function idea(Request $request)
{
$ideas = Cookie::get('ideas');
$ideas = unserialize($ideas);
$random_idea = Idea::inRandomOrder()->first();
$ideas[] = $random_idea->id;
Cookie::queue('ideas', serialize($ideas));
return response()->json($random_idea);
}
我有两个问题:
cookie变量是一个数组,其中始终有一个元素id未添加到数组中
如何从数据库中选择一个不在数组中的随机元素?
如果您有一个ID数组,Laravel的查询生成器将接受一个whereNotIn数组。这将运行SQL,其中id不在1、2等中:
如果您有一个ID数组,Laravel的查询生成器将接受一个whereNotIn数组。这将运行SQL,其中id不在1、2等中:
您确实应该将问题隔离到一个问题,但对于第一个问题,您是否尝试在取消序列化后转储$ideas?您确实应该将问题隔离到一个问题,但是对于第一个问题,您是否尝试在取消序列化后转储$ideas?