我有这样一个原始的查询:
$models = DB::select(DB::raw("SELECT ... etc));我想修改结果集合中的数据(但我不认为它是一个集合)。
总之,假设我想将$model->图片修改为‘任何/路径’之类的东西。$模型->图片。
我试过这样做,它没有修改任何东西,也没有吐出任何错误:
foreach($models as $model){
$model['picture'] = '/images/models/' . $model['picture'];
}我遗漏了什么?
发布于 2017-11-02 17:27:04
好吧,对我来说,你应该用雄辩来形容这件事,这样就足够了:
$models = YourModel::all();
foreach($models as $model){
$model->picture = '/images/models/' . $model->picture;
$model->save(); // here you save it to database
}但是,老实说,将此路径添加到数据库中是没有任何意义的。您可以为您的雄辩模型使用访问器,并假设您在任何地方都使用了雄辩的语言--不要碰任何数据库。
编辑
好的,对于这种情况(从注释中),问题是这里不使用引用,您应该像这样使用它:
foreach($models as &$model){
$model['picture'] = '/images/models/' . $model['picture'];
}
unset($model)以使其真正保存在模型数组中。
https://stackoverflow.com/questions/47081101
复制相似问题