查询构建器也是基于 DB 门面的,只不过需要调用其提供的 table 方法构建一个基于指定数据表的查询构建器
DB::table('users')->where('name', $name)->value('email');
- Eloquent 模型
Eloquent 模型类底层的查询也是基于查询构建器来实现的,你可以在模型类上调用所有查询构建器的 Where 查询方法
$posts = Post::all();
和查询构建器一样,该方法返回的也是集合,只不过是模型类集合
2.1 单条记录
除获取单条记录之外,ELoquent 模型类查询返回的结果都是集合类
(1) cursor 方法每次只获取一条查询结果,从而最大限度减少内存消耗:
foreach (Post::cursor() as $post) {
dump($post->title . ':' . $post->content);
}
(2)first
// return 模型类实例
$user = User::where('name', '学院君')->first();
2.2 主键ID
$user = User::find(1);
2.2 删除
获取模型实例,进行删除
$post = Post::find(31);
$post->delete();
Eloquent 提供的 destroy 方法一次删除多条记录
Post::destroy([1,2,3]);
查询构建器的方式
$user = User::where('name', '学院君')->fisrt();
$user->delete();
关联删除
$course = $this->query->find($id);
// 真删除
$course->Sheets()->detach();