laravel 数据库操作
laravel 数据库操作
DB
1、添加
- insert([]):可以同时添加一条或多条,返回值是布尔类型
- insertGetId([]):只能添加一条数据,返回自增的id
2、更新
- update([]):更新数据
- increment('age'); 每次+1,age为字段名
- increment('age,5'); 每次+5
- increment('age'); 每次-1
- increment('age',5); 每次+5
3、查询
- get():查询所有数据
- first():查询1条记录
- value('name'):查询某个字段
- select('name as user_name'):查询指定字段
- orderBy('id','desc'):排序
- ->limit(3)->offset(2):分页,limit:表示限制输出的条数,offset:从什么地方开始
4、删除
- DB::table('table_name')->where('id','1')->delete(); //删除1条记录
- DB::table(‘member’) -> truncate(); //清空整个数据表
5、执行sql
-
DB::statement("insert into member values(null,'')"); //执行任意的insert update delete语句
-
DB::select("select * from member"); //执行任意的select语句
关联模型
1、创建模型
php artisan make:model Home/User
2、模型类
class User extends Model
{
protected $table = 'user'; //定义表名
protected $primaryKey = 'id'; //默认为id 非id需要指定
public $timestamps = false; //定义禁止操作时间
protected $hidden = ['password']; //隐藏字段,如密码等敏感信息
protected $fillable = ['id','name','age']; //设置允许写入数据的字段
protected $casts = [ 'is_admin' => 'boolean', ];//属性转换
//支持的转换类型:integer, real, float, double, string, boolean, object,array,collection,date
}
3、添加
//方式一
$user = new User();//实例化模型
$user->name = 'zs';
$user->age = 20;
$user->save();//保存
//方式二
User::create([]);
4、查询
User::find(1);//查询1条数据
User::where("id",'>',4)->first();//查询指定条件的1条数据
//查询多行并且指定字段
User::all()
User::all([字段1,字段2]) //与get方法的区别,all不支持连接其他的辅助查询方法
//相当于get方法
User::get()
User::get([字段1,字段2])
//按条件查询指定多个字段
User::where('id','>',2)->get([' 列 1',' 列 2']); //数组选列
User::where('id','>',2)->select('列1','列2')->get(); //字符串选列
User::where('id','>',2)->select( [' 列 1',' 列 2'] )->get(); //数组选列
5、更新
//方式一,同添加类似
$user = User::find($id);
$user->name = 'zs';
$user->age = 20;
$user->save();//保存
//方式二,使用DB的update
//update([]):更新数据
总结:
在DB::table中能使用的方法,在模型中同样可以使用。
DB::table('user') 等价于 User模型