首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改数据库原始拉拉查询中的数据

问修改数据库原始拉拉查询中的数据
EN

Stack Overflow用户
提问于 2017-11-02 17:17:42
回答 1查看 1.2K关注 0票数 0

我有这样一个原始的查询:

代码语言:javascript
复制
$models = DB::select(DB::raw("SELECT ... etc));

我想修改结果集合中的数据(但我不认为它是一个集合)。

总之,假设我想将$model->图片修改为‘任何/路径’之类的东西。$模型->图片。

我试过这样做,它没有修改任何东西,也没有吐出任何错误:

代码语言:javascript
复制
foreach($models as $model){

   $model['picture'] = '/images/models/' . $model['picture'];

}

我遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-11-02 17:27:04

好吧,对我来说,你应该用雄辩来形容这件事,这样就足够了:

代码语言:javascript
复制
$models = YourModel::all();

foreach($models as $model){

   $model->picture = '/images/models/' . $model->picture;
   $model->save(); // here you save it to database
}

但是,老实说,将此路径添加到数据库中是没有任何意义的。您可以为您的雄辩模型使用访问器,并假设您在任何地方都使用了雄辩的语言--不要碰任何数据库。

编辑

好的,对于这种情况(从注释中),问题是这里不使用引用,您应该像这样使用它:

代码语言:javascript
复制
foreach($models as &$model){
   $model['picture'] = '/images/models/' . $model['picture'];
}
unset($model)

以使其真正保存在模型数组中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47081101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档