Laravel数据库操作与用户认证授权全解析
1. 多对多的多态关系
在开发中,多对多的多态关系是一种常见且重要的关系类型。例如,在处理联系人(Contact)和标签(Tag)的关系时,可以这样操作:
$contact = Contact::first();
$contact->tags->each(function ($tag) {
// Do stuff
});
$tag = Tag::first();
$tag->contacts->each(function ($contact) {
// Do stuff
});
上述代码首先获取第一个联系人,然后遍历该联系人的所有标签;接着获取第一个标签,遍历该标签关联的所有联系人。
2. 子记录更新父记录时间戳
默认情况下,Eloquent模型会有 created_at 和 updated_at 时间戳字段。当对记录进行修改时,Eloquent会自动更新 updated_at 字段。如果一个关联项属于另一个项( belongsTo() 或 belongsToMany() ),那么在关联项更新时,将另一个项标记为已更新是很有价值的。例如,当更新一个电话号码(PhoneNumber)时,与之关联的联系人(Contact)也应该被标记为已更新。可以通过在子模型类中添加 $touches 数组属性来实现,示例
超级会员免费看
订阅专栏 解锁全文
5

被折叠的 条评论
为什么被折叠?



