当前位置:Gxlcms > 数据库问题 > Laravel使用Eloquent ORM操作数据库

Laravel使用Eloquent ORM操作数据库

时间:2021-07-01 10:21:17 帮助过:18人阅读

  1. <span style="font-family: Microsoft YaHei; font-size: 16px"><?php</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"> namespace App;</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"> <span style="color: #0000ff">use</span> Illuminate\Database\Eloquent\Model;</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"> <span style="color: #0000ff">class</span> Flight <span style="color: #0000ff">extends</span> Model{</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"> protected $table = ‘my_flights‘;</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"> protected $primaryKey = ‘my_id‘;</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"> <span style="color: #0000ff">public</span> <span style="color: #800080">$timestamps</span> = <span style="color: #0000ff">false</span>; </span><br><strong><span style="font-family: Microsoft YaHei; font-size: 16px">}</span></strong>

2.获取表中所有数据all/get

  1. <span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$flights</span> = Flight::all();</span><br><span style="font-family: Microsoft YaHei; font-size: 16px">$flights = App\Flight::where(‘active‘, 1)</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"> ->orderBy(‘name‘, ‘desc‘)</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"> ->take(10)</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"> ->get();</span>

3.find和first获取单个记录

  1. <span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #008000">//</span><span style="color: #008000"> 通过主键获取模型... <br>$flight = App\Flight::find(1);<br>// 获取匹配查询条件的第一个模型... <br>$flight = App\Flight::where(‘active‘, 1)->first();</span></span>

4.获取聚合

  1. <span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$count</span> = App\Flight::where(‘active‘, 1)-><span style="color: #008080">count</span>();</span><br><strong><span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$max</span> = App\Flight::where(‘active‘, 1)-><span style="color: #008080">max</span>(‘price‘);</span></strong>

5.新建

想要在数据库中插入新的记录,只需创建一个新的模型实例,设置模型的属性,然后调用save方法:

  1. <span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$flight</span> = <span style="color: #0000ff">new</span> Flight;</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$flight</span>->name = <span style="color: #800080">$request</span>->name;</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$flight</span>->save();</span>

save方法还可以用于更新数据库中已存在的模型。要更新一个模型,应该先获取它,设置你想要更新的属性,然后调用save方法。

  1. <span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$flight</span> = App\Flight::find(1);</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$flight</span>->name = ‘New Flight Name‘;</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$flight</span>->save();</span>

create方法在数据库中插入一条新的记录,该方法返回被插入的模型实例,先要在模型设置一下:

  1. <span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #0000ff">//可以被批量赋值的属性<br>protected</span> <span style="color: #800080">$fillable</span> = [‘name‘];</span>
  1. <span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$flight</span> = App\Flight::create([‘name‘ => ‘Flight 10‘]);</span>

6.删除

要删除一个模型,调用模型实例上的delete方法:

  1. <span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$flight</span> = App\Flight::find(1);</span><br><span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$flight</span>->delete();</span>

如果你知道模型的主键的话,可以直接删除而不需要获取它:

  1. <span style="font-family: Microsoft YaHei; font-size: 16px">App\Flight::destroy(1);</span><br><span style="font-family: Microsoft YaHei; font-size: 16px">App\Flight::destroy([1, 2, 3]);</span><br><span style="font-family: Microsoft YaHei; font-size: 16px">App\Flight::destroy(1, 2, 3);</span>

通过查询删除多个模型

  1. <span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$deletedRows</span> = App\Flight::where(‘active‘, 0)->delete();</span>

Laravel使用Eloquent ORM操作数据库

标签:批量   amp   order   timestamp   first   log   实例   extend   save   

人气教程排行