时间:2021-07-01 10:21:17 帮助过:18人阅读
- <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
- <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获取单个记录
- <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.获取聚合
- <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方法:
- <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方法。
- <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方法在数据库中插入一条新的记录,该方法返回被插入的模型实例,先要在模型设置一下:
- <span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #0000ff">//可以被批量赋值的属性<br>protected</span> <span style="color: #800080">$fillable</span> = [‘name‘];</span>
- <span style="font-family: Microsoft YaHei; font-size: 16px"><span style="color: #800080">$flight</span> = App\Flight::create([‘name‘ => ‘Flight 10‘]);</span>
6.删除
要删除一个模型,调用模型实例上的delete方法:
- <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>
如果你知道模型的主键的话,可以直接删除而不需要获取它:
- <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>
通过查询删除多个模型
- <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