关于 jenssegers/Laravel-MongoDB 使用的问题?

$user2=User::find('5b0e42549a89202cc1676dc2');//user主键为objectid
$order=Order::find('201805301502401358078994');
var_dump($order);//order 订单主键为string类型 返回null
dd($user2);//可以返回

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

当你使用 find 时,这个方法会自动把参数转换成 ObjectId ,你可以查看源码,看看有没有什么不让它转换的方法。如果没有,你可以试试

Order::where('id','201805301502401358078994')->first(); 

这种形式。

5年前 评论
讨论数量: 3

当你使用 find 时,这个方法会自动把参数转换成 ObjectId ,你可以查看源码,看看有没有什么不让它转换的方法。如果没有,你可以试试

Order::where('id','201805301502401358078994')->first(); 

这种形式。

5年前 评论

@zedisdog 是的,我查看了一下他的find(),当长度为24的时候,就是宜objecid返回id

5年前 评论

试试用new \MongoDB\BSON\ObjectId(request('id'))将id转换为bson格式

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!