Laravel 中的 ORM 中的 map 是什么意思,怎么用的

laravel中的orm中的map是什么意思,比如

laravel中的orm中的map是什么意思,怎么用的

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 13
Complicated

在map方法写一个匿名方法,会对orm查出来的每条记录进行处理

5年前 评论

get()的返回值是一个集合对象,可以先学习集合的文档
集合《Laravel 5.5 中文文档》

5年前 评论
张无忌

@Complicated 那能解读一下我截图的那个查询吗

5年前 评论
半人间 5年前

return 后面的操作,已经不是 ORM 的查询了,是对集合 Collection 的操作了。

map 就是把集合里每个数据处理成 map 的回调函数中,返回的那个值。

array_map 一样,,,

5年前 评论
_杭城浪子 5年前
张无忌

@largezhou 那个 Category $model是什么意思,如果外面的查到2个结果里面map循环2次,那这个参数 Category $model怎么调用的

5年前 评论
张无忌

@largezhou 你没懂我意思

5年前 评论
Complicated

@张无忌 那个$model就是 “集合取where pid=xxx” 的记录,,你就map看成是foreach就行,至于map里面的方法,你就看成是 foreach循环体就好了

5年前 评论
张无忌

@Complicated 去找对应的where pid=xxx 记录 那我不用Category $model这种形式 用$test这种形式,那里面的调用是不是就成了$test->id

5年前 评论

当成array_map函数不可以么,对每行结果进行处理,返回新的集合

5年前 评论

额。我昨晚才用。。map其实等于一个foreach 比如原来你写查询:

// 原来要修改$data里的数据是酱紫写:
$data = model::query()->where(xxx)->get();
foreach($data as &$item) {
    ...
}

// 用map之后
$data = model::query()->where(xxx)->get()->map(function($item) {
    $item[xx] = xxx;
    return $item;
});
5年前 评论

文档文档!!!

5年前 评论
张无忌

@hackxiaoya 明白了

5年前 评论

和 foreach 差不多一个意思

5年前 评论

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