字段与数据库中的字段不一样

api中,前端修改或者添加时,传过来的字段与数据库中的字段不一样,有哪些字段也是未知的。
有什么办法,可以自动识别的吗?或者在哪里写一个方法自动转化?

例如:
传过来的是$value[‘name’]=’test_name’,数据库中是c_title。此时是想要修改c_title的值,就需要$Model->c_title = $value[‘name’],$Model->save()。
如果有别的字段,也需要判断和转换。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3
Marrigan

file model 中添加一个类似于这样的方法,一次性判断完成所有字段,后续新增,修改 操作直接将 $request->all() 丢过来就可以了。

3年前 评论
class ArticleModel
{
    public static $map = [
        'name'         => 'c_title',
        'content'    => 'c_text',
        'a'        => 'b',
        'c'        => 'd'
        ...
    ];

    public static function convert($data)
    {
        $conversion = [];
        foreach ($data as $key => $value) {
            $conversion[self::$map[$key]] = $value;
        }
        return $conversion;
    }
}

class ArticleController
{
    public function index(){
        $post = [
            'name' => 'bruce',
            'content' => 'long text'
        ];

        $post = ArticleModel::convert($post);

        var_dump($post);
    }

}
3年前 评论

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