首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Laravel (7)中保存多态变形模型的额外/额外的列?

在Laravel (7)中保存多态变形模型的额外/额外的列,可以通过使用Laravel的多态关联和Eloquent模型的特性来实现。

首先,确保你的多态关联已经设置好并且正常工作。多态关联允许一个模型与多个其他模型进行关联,这些模型可以是不同的类型。

接下来,你可以使用Laravel的Eloquent模型的setAttribute方法来设置额外的列。这个方法允许你为模型设置属性,包括额外的列。

例如,假设你有一个多态关联的模型Comment,它可以关联到不同类型的模型,比如PostVideo。你想要在保存Comment模型时,保存一些额外的列,比如extra_column1extra_column2

首先,在Comment模型中定义多态关联:

代码语言:txt
复制
public function commentable()
{
    return $this->morphTo();
}

然后,在保存Comment模型之前,使用setAttribute方法设置额外的列:

代码语言:txt
复制
$comment = new Comment;
$comment->commentable_type = 'App\Post';
$comment->commentable_id = 1;
$comment->setAttribute('extra_column1', 'value1');
$comment->setAttribute('extra_column2', 'value2');
$comment->save();

这样,当你保存Comment模型时,额外的列extra_column1extra_column2的值也会被保存。

对于这个问题,腾讯云没有特定的产品或者产品介绍链接地址与之相关。但是,腾讯云提供了一系列云计算产品和服务,可以满足各种云计算需求。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Laravel学习记录--Model

Laravel 自带 软删除功能 就利用全局作用域从数据库中提取「未删除」模型。编写自定义全局作用域可以提供一个方便、简单方法来确保给定模型每个查询都受到一定约束。...Eloquent还支持动态作用域,动态作用域指在查询过程动态设置预置过滤器查询条件,动态作用域与本地作用域类似,都是以scope作为前缀,调用方法也相同,不同是动态作用域可以通过额外参数指定查询条件...该循环先执行1次查询获取表所有的文章,然后另一个查询获取每一篇文章作者,因此如果有6个作者,则会执行7次查询,1次是获取文章,剩下6次获取文章作者。...要建立这种多态管理,需要设置图片表结构以及用户与文章表关联,在图片表要额外添加两个字段,1,类型字段(table_type)保存所属模型类名。...,并且电话id = 1; } 关联数据计数 如果你只想统计结果数并不需要加载数据,那么可以使用withCount方法,此方法会在你结果集模型添加一个{关联名_count}字段 查询每个用户号码数量

13.6K20

Laravel Eloquent 模型关联关系(下)

在前面两篇教程,学院君陆续给大家介绍了 Eloquent 模型类支持七种关联关系,通过底层提供关联方法,我们可以快速实现模型关联,并且进行关联查询。...在渴求式加载,也可以通过闭包传入额外约束条件,只不过这个约束条件是对关联模型自身过滤,不影响目标模型查询: $post = Post::with(['comments' => function...下面我们简单演示下,以 id=31 评论记录为例,对应模型数据及所属文章模型数据如下: 现在,我们更新下对应 Comment 模型数据并保存: $comment = Comment::findOrFail...: 结语 好了,关于关联关系我们就介绍到这里,我们分了三篇篇幅来介绍 Eloquent 模型管理关系,回顾一下,主要包含以下内容: 七种关联关系定义:一对一、一对多、多对多、远层一对多、一对一多态关联...、一对多多态关联、多对多多态关联; 以上关联关系查询,主要包含两种方式:懒惰式加载和渴求式加载; 基于关联查询构架复杂查询对查询结果进行过滤; 关联模型更新、插入和删除操作。

19.6K30
  • 封装,封装原理,Property ,setter ,deleter

    __input_money() #保存记录 self....: ''' python 是通过变形方式来实现封装 如何变形 : 在名称带有双下划线开头变量名字前添加_类名 :_Person_id_card 当然通过变形名字可以直接访问被隐藏属性 ,...但通常不这样做 : p....标准解释: 多个不同类型对象 可以响应同一个方法 并且产生不同结果 多态带来好处: 只需要学习基类使用方法即可, 不需要关心具体哪一个类 以及实现,以不变应万变 ,提高了灵活性...,开启了不属于解释器资源 ,例如: 打开了一个文件 必须保证当前对象被删除时,同时关闭额外资源,:文件 也称之为析构函数(一个个拆分,解析) 构造 反义词 构造:指的是从无到有

    74620

    为什么 Laravel 这么优秀?

    Make Model # 我们第一步是根据 Laravel 提供 Artisan 命令生成对应 Model;在实际开发我们通常会提供额外参数以便生成模型时候一起生成额外模版文件,如数据库迁移文件...definition course seeder 当模型模型之间关系定义完成后,在我看来整个开发任务就已经完成 50% 了。...另一个强大之处在于可以通过 Eloquent 抽象「模型模型」之间关系;举个例子,在下面的定义我们描述了一个 Course 可以有多个 Student、一个 Teacher;以及一个 Student...Create Course # 接下来我们来看在 Laravel 是如何优雅保存数据,这部分记录你可以参考下面这几个 commit: feat: create course chore: switch...举个简单例子,我们可以将一段文本通过各种过滤后再保存进数据库,: (new Pipeline::class) ->send('This is the HTML content of a

    22510

    Laravel 模型关联基础教程详解

    Laravel 定义模型关联是每个 Laravel 开发者可能已经做过不止一次事情。但是在试图实现关联时可能会遇到各种问题。因为 Laravel 有各种各样关联,你应该选择哪一个?...当涉及到查询模型时,我们如何充分利用模型关联功能? Laravel 模型关联可能会让人糊涂。...让我们看看如何在代码定义这种关联。 <?...我们通过 hasOne 方法告诉 Laravel User 模型有一个 Passport 。 注意: 所有用于定义关联方法都有可选额外参数,你可以在这些参数定义本地键和外键。...默认情况下,Laravel会假设你在用户模型定义了 passport_id ,因为你试图创建与 passport 模型关联。创建迁移文件时也请注意这一点!

    5.5K31

    Laravel Eloquent 模型关联关系详解(上)

    到目前为止,我们介绍所有 Eloquent 模型操作都是针对单表,接下来我们将花三篇左右篇幅来给大家介绍如何在 Eloquent 模型建立模型之间各种关联关系,以及如何实现关联查询和更新。...Eloquent 模型支持关联关系包括以下七种: 一对一 一对多 多对多 远层一对多 多态关联(一对一) 多态关联(一对多) 多态关联(多对多) 下面我们将以设计一个简单博客系统数据库为例一一介绍上述关联关系...比如在大型系统,我们用户表通常用于最基本信息存储,邮箱、用户名、密码等,然后像用户爱好、标签、个性签名、所在地等信息都存到另一张扩展表,需要时候才会去扩展表取数据,从而提高查询性能。...你可能注意到了我们在定义关联关系时,仅仅指定了模型类名,并没有指定通过哪些数据表字段建立关联,这并不是说 Laravel 神通广大,能知过去未来之事,而是因为 Eloquent 对此做了默认约定。...第六个参数 relatedKey 表示对应关联模型哪个字段(即 relatedPivotKey 映射到关联模型所属表哪个字段),默认是关联模型主键 ID,即 tags 表 id 字段,所以这里也不需要额外指定

    9.9K40

    从0开始做一个审批模块

    从上面的需求场景我们可以看出,被申请对象可能是团队也可能是项目,也就是被申请对象不确定,和上面的不确定需求方是等同;且一个被申请对象可以被不同需求方申请多次,也就是典型 一对多多态关联[1]...有时候不乏一些定制化需求,我们可能在某些申请时候还会附带一些额外信息。比如申请报销时候可能会附带报销单信息用于展示,于是加了一个扩展字段 payload。...下面的示例代码将以 PHP 语言进行编写,使用框架为 Laravel[2]。 建立模型类 根据上面设计好数据表,我们对 Apply 进行建模: <?...:『Laravel 多态关系表单验证[3]』 。...[2] Laravel: https://laravel.com/ [3] Laravel 多态关系表单验证: https://learnku.com/articles/12449/form-validation-of-polymorphic-relationships-in-laravel

    1.7K10

    Laravel5.1 框架关联模型之后操作实例分析

    本文实例讲述了Laravel5.1 框架关联模型之后操作。...'; // 添加到Tag $tag = Tag::findOrFail(1); // 当创建时需要填充中间表额外时,可以传递第二个参数。...而且使用时要用下方模型 调用dissociate方法,将下方模型从上方模型关联移除。此外此方法执行后会将下方模型外键id至为0。...$tag = Tag::findOrFail(2); // 同步:传入一个id数组,存在于此数组id都会被追加关系,而不在此数组id模型关联 都会被移除。...$tag- posts()- sync([2, 4, 5]); } 注意:sync方法也可以传入第二个参数,也是数组类型 以便更新中间表其他。由于语法跟前面几个方法一样,就不在重复写了。

    1.9K20

    清华大学提出DAT | DCN+Swin Transformer会碰撞出怎样火花???

    最近,基于卷积方法被引入到Vision Transformer模型。其中,已有的研究集中在用卷积运算来补充变压器模型,以引入额外电感偏差。...当在两阶段检测器实现时,Mask R-CNN和Cascade Mask R-CNN,模型比不同尺寸Swin Transformer模型实现了一致改进,如表4所示。...从表6第6行和第7行也可以看出,模型可以在前两个阶段适应不同注意力模块,并取得有竞争结果。SRA在前两个阶段模型在65%FLOPs上比PVT-M高出0.5倍。...在左边一变形点被收缩成两个目标长颈鹿,而其他点则是保持一个几乎均匀网格和较小偏移量。 在中间变形点密集地分布在人身体和冲浪板。...右边显示了变形点对六个甜甜圈每个焦点,这表明本文模型有能力更好地建模几何形状,即使有多个目标。

    1.4K30

    真实时、强细节、高保真:更强大视频重建算法,性能明显提升

    总而言之,现有的图像处理算法无法发挥最佳性能,因为预测结果缺乏足够自然度。 本文作者提出了一种新视频表征方法,该方法利用基于 2D 散图像场和基于 3D 散时间变形场。...定性比较包括几种基线方法,分为三个不同类别:(1) 使用图像翻译模型逐帧推理, ControlNet ;(2) 分层视频编辑, Text-to-live ;(3) 基于扩散模型视频翻译,包括...通过估计每个单独帧变形场,可以查询规范空间内一帧特定关键点位置,然后识别所有帧存在对应点,如图 5 所示。本文在项目页面的视频展示了在非刚性对象(流体)中跟踪点演示。...通过将图像超分辨率算法直接应用于规范图像,可以将视频进行超分辨率处理以生成高质量视频,如图 7 所示。假设变形由连续场表示,那么超分辨率应用不会产生闪烁。 (e) 用户交互式视频编辑。...在没有退火散情况下,规范图像失去了其自然外观,如图 9 显示。此外,在不考虑流信息损失情况下,平滑区域明显受到闪烁影响。要进行更广泛比较,请参阅项目页面上视频。

    33320

    Laravel基于XunSearch中文搜索解决方案

    在我博客之前文章我也介绍过Sphinx分词搜索:CentOS7下安装Sphinx 中文分词【PHP+MySQL】 但确实,对中文支持是很不好,不能用不好来形容,应该是很不好。...本篇文章就来说一下,如何在Laravel中使用XunSearch。...额外说明是,腾讯云、阿里云安全组默认是禁止8383和8384端口,你们需要在安全组里面打开。...模型获取所有数据,并且toArray转换为数组(也必须转换为数组),然后将该数组传进addIndex()方法里面就行。...然后上面代码setDatabase('referrers')可以不写,就是默认;写了的话,那么在配置文件里面就必须有对应配置。如上图referrers。 那么,如何看索引成功没有?

    2.9K00

    orm 系列 之 Eloquent演化历程2

    ,也是laravel中一大亮点Artisan,Artisan是 Laravel 自带命令行接口名称,此处不做具体介绍了,有机会再细说,当我们在命令行执行php artisan command时候...本文最后讲下Eloquent中新增对象之间关系:多态关系,以下内容摘自[ Laravel 5.3 文档 ] Eloquent ORM —— 关联关系 表结构 多态关联允许一个模型在单个关联下属于多个不同模型...commentable_id对应 Post 或Video ID 值,而 commentable_type 对应所属模型类名。...当访问 commentable 关联时,ORM 根据commentable_type 字段来判断所属模型类型并返回相应模型实例。...模型结构 接下来,让我们看看构建这种关联关系需要在模型定义什么: <?

    2.4K30

    面向对象三大特性

    例如,如果想编写现有对象自定义版本,可以继承该对象 也可以创建一个外观和行为像,但与它无任何关系全新对象,后者通常用于保存程序组件松耦合度。...1 #其实这仅仅这是一种变形操作 2 #类中所有双下划线开头名称__x都会自动变形成:_类名__x形式: 3 4 class A: 5 __N=0 #类数据属性就应该是共享,..._A__N是可以访问到,即这种操作并不是严格意义上限制外部访问,仅仅只是一种语法意义上变形 这种自动变形特点: 1.类定义__x只能在内部使用,self.__x,引用就是变形结果。...3.在子类定义__x不会覆盖在父类定义__x,因为子类变形成了:_子类名__x,而父类变形成了:_父类名__x,即双下滑线开头属性在继承给子类时,子类是无法覆盖。..._A__N 2.变形过程只在类内部生效,在定义后赋值操作,不会变形 3.在继承,父类如果不想让子类覆盖自己方法,可以将方法定义为私有的 1 class Person: 2 def

    66660

    让 F5 歇一会儿——laravel-mix 自动刷新之道

    因为近几年来大部分时假在与 Laravel 打交道,使用 laravel-mix 已成家常便饭,所以想着总结并分享一下 laravel-mix 工作流自动刷新之道。...Browsersync Browsersync 是一款强大前端调试工具,名字一样,主要功能就是“浏览器同步”,这里同步不仅是当资源发生变化时同步刷新,它支持局域网多终端设备同时调试,甚至能同步这些设备上滚动...要在 laravel-mix 中使用 hmr,不需要安装其它额外依赖包。...打开页面,修改页面引用前端资源( js,css)并保存,页面将自动刷新 因为使用 laravel-mix 编译,一般修改 resource/ 目录下文件,但实际上直接修改 public/ 目录文件也是可以触发刷新...简单,仅需安装依赖并调用 mix.browserSync() 方法 较复杂,可能需要针对目前存在 Bug 作特殊处理 较复杂,需要安装依赖,并在入口模板手动添加额外 js 引用(或使用浏览器插件)

    2.4K20

    Marior去除边距和迭代内容矫正用于自然文档矫正

    ==作者认为,这归因于额外内隐学习来识别前景文档和去除边缘区域。另一种方法是在去变形之前实现现有的目标检测算法,以避免需要手工裁剪。然而,没有带边缘文档图像仍然是一个未解决问题。...值得注意是,该掩膜预测模型也可以作为其他替代分割模型,它只需要能够提供文档区域分割掩膜。图片基于掩膜变形器(MBD)。...在图6,作者将作者方法与DocProj 20、DewarpNet 7和Xie等人40方法进行了比较。前三输入图像来自于“Crop”子集。...与7和40方法相比,作者方法还取得了良好感知性能和细节方面的性能。第4和第5输入图像来自“Origin”子集,如果借助一个强大文档检测器,以前方法可以获得可信结果。...对于在第6、第7没有边缘区域输入图像,Marior仍然取得了令人满意性能,而现有的方法却没有。作者与图7最先进变形方法和DocTr进行了进一步比较,这也证明了作者前后方法优越性。

    62620

    Laravel5.7 Eloquent ORM快速入门详解

    时间戳 默认情况下,Eloquent 期望 created_at 和 updated_at 已经存在于数据表,如果你不想要这些 Laravel 自动管理数据,在模型设置 $timestamps...批量赋值 还可以使用 create 方法保存一个新模型。该方法返回被插入模型实例。...Laravel 自带软删除功能就使用了全局作用域来从数据库拉出所有没有被删除模型。编写自定义全局作用域可以提供一种方便、简单方式来确保给定模型每个查询都有特定条件约束。...,你只需要将额外参数添加到你作用域即可。...事件允许你在一个指定模型类每次保存或更新时候执行代码。 retrieved 事件会在从数据库获取已存在模型时触发。当一个新模型被首次保存时候,creating 和 created 事件会被触发。

    15.1K41

    面向对象之封装

    私有变量和私有方法 私有变量定义: 在python中用双下划线开头方式将属性隐藏起来(设置成私有的) #其实这仅仅这是一种变形操作 #类中所有双下划线开头名称__x都会自动变形成:_类名__x形式..._A__N是可以访问到,即这种操作并不是严格意义上限制外部访问,仅仅只是一种语法意义上变形 私有变量特点及注意事项 特点 1.类定义__x只能在内部使用,self....3.在子类定义__x不会覆盖在父类定义__x,因为子类变形成了:_子类名__x,而父类变形成了:_父类名__x,即双下滑线开头属性在继承给子类时,子类是无法覆盖。..._A__N 2.变形过程只在类内部生效,在定义后赋值操作,不会变形 私有方法定义: 在继承,父类如果不想让子类覆盖自己方法,可以将方法定义为私有的 #正常情况 >>> class A: ......例如,如果想编写现有对象自定义版本,可以继承该对象 也可以创建一个外观和行为像,但与它无任何关系全新对象,后者通常用于保存程序组件松耦合度。

    52110

    AI 技术讲座精选:如何在时序预测问题中在训练期间更新LSTM网络

    运行示例,保存使用步进式验证法算得测试数据集均方根误差分数。将这些分数保存在一个名为 experiment_fixed.csv 文件夹,之后会对它们进行分析。打印分数总结,如下所示。...然后将测试集中用于得出预测每个测试模式添加到训练数据集中,这样模型就会得到更新。 在此试验,在进行下一次预测之前要用额外两个训练 epoch 对模型进行拟合。...结果比较 在本部分,我们将把上述试验中保存结果进行比较。 我们载入每个保存结果,用描述统计方法进行总结,然后使用箱须图比较这些结果。 完整代码变形如下所示: ?...这个试验预计可以为比较更新模型和固定模型提供一个有趣角度。 总 结 在本教程,你学习了当在 Python 中进行时间序列预测时如何在获得新数据时更新 LSTM 网络。...具体而言,你学习了: 如何设计出系统试验组合,探讨更新 LSTM 模型所产生影响。 如何在获得新数据时更新 LSTM 模型

    1.5K60
    领券