数据查询

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

有了模型以后,我们就可以利用它去操纵数据表了 ... 可以查询,创建,更新,还有删除数据记录 ...

之前我们在使用 DB 类查询数据表的时候,先要使用 table 方法去指定一个数据表的名称 ... 然后可以利用 Query Builder 的方法去操作。

在 MovieController 里的这个 index 方法里,先注释掉这里面的几行代码 ...

这回我们直接使用模型去执行查询 ... 比如要找出 movies 表里面的所有的记录 ...

直接使用模型的名称 ... Movie ... 然后使用 all 这个方法,可以得到所有的记录 .. 给这个结果起个名字 ... 再使用 print_r 或者 var_dump ,把它输出到屏幕上看一下 ...

$data = Movie::all();
print_r($data);

回到浏览器 ... 这里会显示出所有在 movies 表里面的记录。

find

如果想查询出个别记录,可以使用 find 方法 ... 比如找出 movie_id 是 1 的数据记录 ... 使用 Movie 模型的 find 方法 .. 在方法里,可以指定一个 id 参数 ... 这里应该就是 moives 表里面的 movie_id 这个字段的值。因为在创建这个模型的时候,我们的设置了一下它的 $primaryKey 属性的值就是 movie_id ...

$data = Movie::find(1);

(#浏览器)这里会显示一个 movie_id 是 1 的数据记录。(#返回)再去查询出 movie_id 是 3 的电影内容 ... (#浏览器)这次给我们的结果就是 movie_id 是 3 的数据记录。

QueryBuilder

我们同样可以使用上一章里介绍的 QueryBuilder 去创建查询 .. 比如选择要显示的字段,可以使用一个 select 方法 ... 我们想在结果里只包含 电影标题,还有制作成本这两个字段 ... movie_title .. movie_budget ... 最后再使用一个 get 方法,去得到数据。

$data = Movie::select('movie_title', 'movie_budget')->get();

(#浏览器)你会看到,所有结果里面,只包含 movie_title 还有 movie_budget 字段 ...

你也可以试一下其它的方法,比如用 where 去设置条件,用 take 去限制结果数量等等 ...

改造

(#切换)如果用模型的方法改造一下这个显示电影内容的方法 ... $movies 等于 .. 直接使用 Movie 这个模型 ... 再使用它的 all 方法,这样可以得到所有的数据 ..

再把这个 $movies 传递给视图 .. 视图里面用来列出内容的循环可以不用改 ...

注释掉这里的测试模型的代码 ...

保存 ... 回到浏览器 ... 打开 /movies 这个地址 ...

在这里,同样可以显示出电影列表 ...

0:00
2:25
0:00
0:00
0:00
3:54

数据查询《 Laravel 数据库 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点