学无止境,天涯煮梦!
登陆 | 注册

laravel中使用原生sql以及常用查询

发表于:2019-05-09 15:14:05 / 作者:煮梦 / 所属栏目:Laravel5.6

update

DB::update(DB::RAW('update book_book set 字段名=replace(字段名, "被替换的字符名", "要替换的字符名")'));
// 比如
DB::update(DB::RAW('update book_book set name=replace(name, "李", "张")'));
// 就是把name字段里的李替换为张

whereRaw使用查询某字段中包含某字符的数据

DB::table('book_book')->whereRaw('FIND_IN_SET("要查询的字符".', 字段名)')->get();
// 比如
DB::table('book_book')->whereRaw('FIND_IN_SET("a".', name)')->get();
// name里的数据,格式必须为a,或者a,b,c,这样才能查,如果是查询比如abcdef里的a,FIND_IN_SET就不可以了
// 因此,例子就是查找包含a的数据

查询包含某字符的数据

// 查询一个字段
DB::table('book_content')->where('name', 'like', '%abc%');
// 查询多个字段
DB::table('book_content')
    ->join('book_book', 'book_content.bc_bookId', '=', 'book_book.bb_Id')
    ->join('adminuser', 'book_book.bb_userId', '=', 'adminuser.admin_Id')
    ->where('bb_name', 'like', '%'.$tag.'%')
    ->orWhere('bc_content', 'like', '%'.$tag.'%')
    ->orWhere('bc_name', 'like', '%'.$tag.'%')
    ->get();
prev next