ORM 增删改查实例

r囧r小猫 2024-02-18 19:46 105阅读 0赞
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\Admin\Member;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\DB;
  7. class MemberController extends Controller
  8. {
  9. public function index()
  10. {
  11. //查询所有记录
  12. //$result = Member::all();
  13. //查询一条记录
  14. $result = Member::find(8);
  15. echo $result->created_at;
  16. //查询多条记录
  17. //$result = Member::find([1,2,3]);
  18. //找不到时抛出异常(404页面)
  19. //$result = Member::findOrFail(55);
  20. //查询所有记录,where条件
  21. //$result = Member::where('id','>',1)->get();
  22. //分块查询
  23. /*$result = Member::where('id','>',1)->chunk(2,function($res){
  24. var_dump($res);
  25. return false;
  26. });*/
  27. // dd($result);
  28. }
  29. //插入
  30. public function add(){
  31. //使用模型创建
  32. /*$result = new Member();
  33. $result -> username = '1';
  34. $result -> password = '2';
  35. $result -> email = '3';
  36. $result ->save(); // 新增保存*/
  37. //使用create创建,需设置 $fillable
  38. //$result = Member::create(['username'=>'11','password'=>'222','email'=>'333']);
  39. //其他创建方法
  40. //firstOrCreate 使用给定的列/值来查找数据库。如果在数据库找不到该模型,则会从第一个参数的属性乃至第二个参数的属性中创建一条记录插入到数据库
  41. //使用 username 查找用户,不存在则创建,存在的话也不报错
  42. /*$result = Member::firstOrCreate(
  43. ['username'=>'1111'],['password'=>'222'],['email'=>'333']
  44. );*/
  45. //使用username 查找用户,不存在则创建实例,保存的话需要save
  46. /*$result = Member::firstOrNew(
  47. ['username'=>'111111'],['password'=>'222'],['email'=>'333']
  48. );
  49. $result->save();*/
  50. //updateOrCreate 更新现有模型或在不存在的情况下则创建新的模型,不需要save
  51. /*$result = Member::updateOrCreate(
  52. ['username'=>'11111112'],
  53. ['password'=>'2222','email'=>'22222']
  54. );*/
  55. //dd($result);
  56. }
  57. //修改
  58. public function edit(){
  59. //通过模型更新数据
  60. /*$result = Member::find(14);
  61. $result -> password = '3333333';
  62. $result -> save();*/
  63. //批量更新
  64. /*$result = Member::where('id','>','13')->update(
  65. ['password'=> '11']
  66. );*/
  67. //dd($result);
  68. }
  69. //删除
  70. public function delete(){
  71. //通过模型删除,返回布尔值
  72. /*$result = Member::find(14);
  73. $result -> delete();*/
  74. //通过主键删除,返回影响的行数
  75. //$result = Member::destroy(13);
  76. //删除多个
  77. //Member::destroy([1, 2, 3]);
  78. //Member::destroy(1, 2, 3);
  79. //通过查询删除,返回影响的行数
  80. //$result = Member::where('id','>',11)->delete();
  81. //软删除
  82. /*$result = Member::find(8);
  83. $result -> delete();*/
  84. dd($result);
  85. }
  86. }
  87. <?php
  88. namespace App\Models\Admin;
  89. use Illuminate\Database\Eloquent\Model;
  90. use Illuminate\Support\Facades\DB;
  91. use Illuminate\Database\Eloquent\SoftDeletes; //开启模型的软删除功能
  92. class Member extends Model
  93. {
  94. protected $table = 'member'; //与模型关联的数据表
  95. //指定主键
  96. //如果使用非递增或者非数字的主键,则必须在模型上设置 public $incrementing = false
  97. //如果主键不是一个整数,你应该在模型上设置 protected $keyType = string
  98. protected $primaryKey = 'id';
  99. public $timestamps = true; //是否自动维护时间戳 created_at updated_at
  100. protected $dateFormat = 'U'; //模型的日期字段的存储格式
  101. //const CREATED_AT = 'creation_date';//自定义用于存储时间戳的字段名
  102. //const UPDATED_AT = 'last_update'; //自定义用于存储时间戳的字段名
  103. protected $fillable = ['username','password']; //批量赋值 ,create 新增数据的时候需要设置 ,$guarded 为黑名单,相反
  104. use SoftDeletes;//使用软删除功能
  105. protected $dates = ['deleted_at']; //软删除字段
  106. }

发表评论

表情:
评论列表 (有 0 条评论,105人围观)

还没有评论,来说两句吧...

相关阅读