如果你不是 php 小白,有其它的框架的基础,应都知道,几乎全部的 php框架都叫做 MVC框架,这里里面的 M 就是 Model 的含义,也就是模型的意思。
M 在这里就不多解释了,如果不懂,自行百度。
这个小部分,我们主要干两个事情:
第一:创建各自的model 类
第二:标注对应的关系
那么我们的艺术气息的laravel 也是 必须拥有 映射关系的 Models 的。
因为在通常情况下,一个 Model 对应一张数据表,所以根据我们的任务我主要需要用到 2 个表, 那么我们就需要2个对应的 Model 也就是2个模型。
第一个: User模型
第二个:Task模型
这里的 注意一下:就是 User 模型 是单数,但是对应的表 是 users 表,同理 Task 模型对应的数据表是 tasks 表。
同上面的创建表一样。默认的 User.php 模型已经存在在我们的 app\User.php 下面,也就是默认有了,那么我们需要创建的就是 Task.php 的 Task 模型
创建方式,同样选择我们特别有艺术气息的 artisan 方法。
php artisan make:model Task
执行命令创建成功:
如图所示:
新创建成功的 Task model 长成这个样子,如下图:
到目前位置,我们都创建好了,我们users,tasks,表对应的模型 User,Task。
现在我们假定这样的一个情况,就是:
任何一个用户都可能拥有多个任务,而任何一个任务只能属于某一个人。这个就是 任务 跟 人的一个对应关系。
也就是说: 人 hasmany 任务
任务 belogsto 人
如果我们想要在以后的处理任务中,可以灵活的实现这样的一个处理方式:
$user = App\User::find(1);
foreach($user->tasks as $task){
echo $task->name;
}
这种感觉就像是,人这个对象,自带了附属任务的属性,的样子,是不是很牛叉!
为了这个伟大的理想,我们开始标注,我们的 所属关系:
第一个:先在Use.php 的User模型里面 定义 tasks 所属关系,这个是 hasMany的关系。
添加如上函数,在 User.php 的类的最后面。
然后在 Task.php 模型里面添加如下的代码:
这里肯定有同学好奇了,这样添加,他们的隶属关系就好用了吗?这里其实我也很好奇?
但是,确实就好用了,我们就当作这个是个魔法吧!