嗨,大家好我在laravel中遇到了这个更新功能的问题(我没有使用这种关系(hasmany belongsto)laravel的用法,因为它是我的学习项目,它没有& #39; t工作我使用sql语句,错误在$ menu_id行
public function update($session,$date, Request $request)
{
/*
* */ //fetch the new plats edited
$titles = $request->input('plats');
// fetch the menu id
$menu_id=$this->menu->menuid($session,$date);
//$id=implode("",$menu_id);
//dd($id);
foreach ($titles as $ds) {
$plats_id=$this->menu->getplatsid($ds);
DB::update("UPDATE Menu_items
SET id_plats='$plats_id'
where id_menu= '".$menu_id."' ");
}
我尝试了implode函数,但它给了我一个stdclass错误 谢谢
public function menuid($session,$date){
return DB::select(DB::raw("Select id
from Menu
where session LIKE '".$session."' AND date ='".$date."'"));
}
答案 0 :(得分:0)
你说:
我尝试了implode函数,但它给了我一个stdclass错误谢谢
这意味着你想要崩溃的东西是一个对象。如果你想使用implode函数,你需要有一个数组。
要解决此问题,请将$menu_id
转换为数组。
您可以尝试使用toArray
方法。像这样:
// fetch the menu id
$menu_id=$this->menu->menuid($session,$date)->toArray();
答案 1 :(得分:0)
如果您使用的是laravel的DB包装器,SELECT
查询将返回一个集合(Illuminate\Support\Collection
)类。因此,'对象'错误。
更改
发件人:强>
$menu_id=$this->menu->menuid($session,$date);
要强>
$menu_id=$this->menu->menuid($session,$date)->implode('id');
集合类的implode
函数模仿PHP的函数。
详细了解collections here
laravel的小怪癖起初看起来很麻烦,但如果有足够的经验,它将加快你的开发项目。