<code>$goods = ""; foreach($carts as $key => $c){ $good = Goods::where(["product_id" => $c->product_id,"merchant_id" => $c->merchant_id])->first(); $good -> number = $c->number; $goods[] = $good; } $order = new Order; $order -> json = $goods; if( $order->save()){ return response()->json(array( 'status' => 1, 'msg' => "下单成功")); }else{ return Redirect::back()->withInput()->withErrors('保存失败!'); } </code>
$goods 的到的数据 是一组数组
保存到数据库是就成了 Array 了
然后 用 json 转一下
<code>$goods = $goods->toJson(); </code>
toJson() 报错了
Call to a member function toJson() on array
有大神可以指导一下吗
回复内容:
<code>$goods = ""; foreach($carts as $key => $c){ $good = Goods::where(["product_id" => $c->product_id,"merchant_id" => $c->merchant_id])->first(); $good -> number = $c->number; $goods[] = $good; } $order = new Order; $order -> json = $goods; if( $order->save()){ return response()->json(array( 'status' => 1, 'msg' => "下单成功")); }else{ return Redirect::back()->withInput()->withErrors('保存失败!'); } </code>
$goods 的到的数据 是一组数组
保存到数据库是就成了 Array 了
然后 用 json 转一下
<code>$goods = $goods->toJson(); </code>
toJson() 报错了
Call to a member function toJson() on array
有大神可以指导一下吗
从你的foreach
来看,最后的$goods
是一个普通的数组,这个数组跟toJSON
没有什么必然联系,在我的记忆中,toJSON
应该不是php内置的吧。
想到的解决方案:
<code>$order -> json = json_encode($goods); </code>
对于上面的代码,还有以下的建议:
<code>foreach($carts as $key => $c){ $good = Goods::where(["product_id" => $c->product_id,"merchant_id" => $c->merchant_id])->first(); $good -> number = $c->number; $goods[] = $good; } </code>
上面这一段,我觉得你好好看看Eloquent的Relationship部分,这个应该会很好地解决了。
第二,else关键字其实很多时候是可以不用的:
<code>if( $order->save() ) { return response()->json(array( 'status' => 1, 'msg' => "下单成功")); } return Redirect::back()->withInput()->withErrors('保存失败!'); </code>
以上的代码应该也是行得通的
赞楼上,json_encode()是php最常用的内置函数之一,lz不要太过于依赖框架了

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于单点登录的相关问题,单点登录是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于Laravel的生命周期相关问题,Laravel 的生命周期从public\index.php开始,从public\index.php结束,希望对大家有帮助。

在laravel中,guard是一个用于用户认证的插件;guard的作用就是处理认证判断每一个请求,从数据库中读取数据和用户输入的对比,调用是否登录过或者允许通过的,并且Guard能非常灵活的构建一套自己的认证体系。

laravel中asset()方法的用法:1、用于引入静态文件,语法为“src="{{asset(‘需要引入的文件路径’)}}"”;2、用于给当前请求的scheme前端资源生成一个url,语法为“$url = asset('前端资源')”。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于中间件的相关问题,包括了什么是中间件、自定义中间件等等,中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于使用中间件记录用户请求日志的相关问题,包括了创建中间件、注册中间件、记录用户访问等等内容,下面一起来看一下,希望对大家有帮助。

在laravel中,fill方法是一个给Eloquent实例赋值属性的方法,该方法可以理解为用于过滤前端传输过来的与模型中对应的多余字段;当调用该方法时,会先去检测当前Model的状态,根据fillable数组的设置,Model会处于不同的状态。

laravel路由文件在“routes”目录里。Laravel中所有的路由文件定义在routes目录下,它里面的内容会自动被框架加载;该目录下默认有四个路由文件用于给不同的入口使用:web.php、api.php、console.php等。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3汉化版
中文版,非常好用

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境