【发布时间】:2018-06-21 10:15:36
【问题描述】:
我有一个表,其中有一列(名为 order_data)将数据保存为 Json,现在我想从该列中检索数据,但我得到的只是列数据本身,如下面的示例
"{\"29\":{\"id\":29,\"name\":\"effewf\",\"price\":24524,\"quantity\":1,\"attributes\":[],\"conditions\":[]}}"
我的问题是:
如何从该 json 列中获取我的数据,例如
Product->title在我的示例代码或价格等中是effewf。
这是我目前的功能:
public function index()
{
$orders = Order::orderby('id', 'desc')->paginate(10);
return view('admin.orders.index', compact('orders'));
}
PS:我清理了我的函数,因为我尝试过的所有方法都不起作用,所以你有清理函数来帮助我以此为基础。
这是我尝试过的:
orderss = Order::orderby('id', 'desc')->get();
$orderss = json_decode($orderss->order_data);
我得到了这个错误:
此集合实例上不存在属性 [order_data]。
【问题讨论】:
-
有个函数叫
json_decode(),把你的数据传给它 -
我没有运气,如果你有样品请提供它可能有效吗?!
-
你能展示你的尝试吗?
-
json_decode, json_encode, foreach($orders ....) 等等/我可以在 google 上找到的所有内容 :)
-
$orderss 是一个集合,而不是实际的行。所以你需要遍历它来提取数据。