Lavavel数据库操作(二)

接下来是关于laravel真正的数据库封装。
文档

Eloquent ORM

这个是laravel的模型层。laravel团队似乎有意无意地在弱化MVC这个概念,他们直接将模型文件放在app目录下,当然也允许我们以一定地方式进行自己的组织,因为“每个人对模型都有自己的理解”。(sad。对我这样的初学者来说可能只是帮我把代码写得更乱。)

建立模型

laravel中,一般一个模型对应一张表,一般而言。我们可以用最传统的方法,即在数据库里新建一张数据表后再在app目录下新建模型文件与之关联,也可以使用php artisan make:model User这样的artisan命令(laravel框架自带)来新建模型文件。
一般而言,一个叫Flight的模型应该是这样的

它继承自Illuminate\Database\Eloquent\Model

关联数据表名

protected $table = 'table_name';把这个设置好

设置主键

假如你的表格的主键名不是id那嚰你就需要设置$primaryKey

模型的实例

每个模型的实例里,可以按数据表的字段名来存入数据
比如我们现在有一个叫$Flight的模型实例,那么我们想往里面塞数据的时候,可以这样做
$Flight->name=$value
然后字段名叫name的字段下的数据被更新为$value。之后等待后续的操作。
(以ThinkPHP举例,这相当于create($data)方法)

简单查询

举个栗子
$flights = App\Flight::where('active', 1) ->orderBy('name', 'desc') ->get();
你拿到的数据,可以简单地直接塞给视图
$flights = Flight::all(); return view('flight.index', ['flights' => $flights]);

简单插入

假如我们已经定义了一个叫Flight的模型
$fight = new Flight;//实例化一个新模型 $Flight->name = $value;//给要插入的字段名赋值 $Flight->save();//执行插入
需要提醒的是,一般而言,laravel建议数据库中有两个叫create_atupdate_at的整型字段用于存储字段创建和更新时的时间戳。如过你想关闭对它们的赋值的话,可以看最上方的文档。

简单更新

我们需要通过查询获取结果集,对它(们)修改以后再save()到数据库。详见文档。这个和插入基本一样。

删除

执行查询后delete()或者直接依据主键进行destroy($primaryKerNum)。同样也是详见文档。

你可能感兴趣的:(Lavavel数据库操作(二))