例子如下:我需要根据不同条件加载不同关联关系数据,有一张表A,里面有字段relationId、type等,type包括多种,如:'article','problem','comment'等,我需要根据type不同的类型加载关联数据,例如需要根据A表中的字段type是article来使用with('article')来加载article的数据,type为problem同上,代码:A::where('type', 'article')->with('article'),A::where('type', 'problem')->with('problem'),怎么让这两个合起来放到一起,请大神帮忙解决一下!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
找了一些下午,最后发现还是自己没有认真阅读理解laravel文档,这个问题属于多态关系,一下午就跳进这个坑了,至于怎么做去看laravel文档吧,我就不细说了。但是我这儿要分享一下我下午踩坑获得的体会与经验,对于多态关系,我百度了一下,几乎都和laravel文档里面给的例子差不多,没有一些详解,对于MorphTo()方法的参数没有说明,于是我查了下laravel api,英文不怎么好的我还是看懂了的:),MorphTo方法有三个参数:第一个是这个多态关系你要一个命名,不给就默认是方法名;第二个是自定义type类型,数据库表里那个代表类型的字段名,这个type字段的值是类名,例如:App\Photo(要加上App哦!);第三个参数就关联其他表的id的那个字段名;我还是粘一下代码帮助理解:
希望对大家有帮助!