Laravel 如何实现 yii2 的这种写法??
yii2有这种写法:
$articleList = Article::find()->joinWith("article_class as class")->where([])->all();
foreach ($articleList as $article) {
$class = $article['article_class'];
if($article['is_del']==1){//文章刪除\
$class->is_del = 1;//刪除分類\
$class->save();\
}
}
请问下,用laravel框架,这种写法如何实现啊?需要在循环中,使用对象操作数据
备注说明:
1.文章对应的分类是一对一的关系,每一篇文章都可以找到对应的文章分类
2.上面的例子是将所有的文章列表,和文章对应的一对一文章分类信息都给查询出来了,并且是对象的形式
关于 LearnKu
建议你去看下模型关联
谢谢,关联的问题我已经解决了,但是现在又延伸出来一个问题
我写的示例是这样的
程序可以正常执行,只是我用的phpstorm会在{$classA->save();}这里报错,报Method 'save' not found 的错误,请问下,你有什么好的办法解决吗?
@zhangzeyun 并不能这样写,你需要在模型里面定义关联然后调用相应的关联模型进行保存,具体写法应该是
@linxb 我已经在模型中定义过关联模型了,上面的程序可以正常运行,写成你这种,也能正常运行,只是在调用save中时,ide会提示该方法不存在(程序是可以正常运行的)
@zhangzeyun 你需要引入laravel的ide-helper,可以按这篇文章进行配置 博客:Laravel 超好用代码提示工具 Laravel IDE Helper
@linxb 已经配置过了。。。。入口文件和路由文件里面的方法都能找到,还是不行。。
@zhangzeyun 执行 php artisan ide-helper:models , 如果这个在不行的话那我也不知道什么原因了