gpt4 book ai didi

Laravel 多态关系性能

转载 作者:行者123 更新时间:2023-12-04 17:31:14 25 4
gpt4 key购买 nike

有没有人对 Laravel 中多态关系的表现有任何经验?我需要有几个不同模型的设置表,多态关系在这里会很好,我想知道性能,是否和每个模型都有自己的设置表一样好?

设置表很简单,这就是设置表的样子:

$table->increments('id');
$table->integer('foreign_id')->unsigned();
$table->string('key');
$table->string('value')->nullable();

我会删除每个模型设置所需的几个表,只是想知道使用多态设置是否会出现性能问题?

如果我决定使用多态,那么我会将这些类型添加到表中:
        $table->string('has_settings_type');
$table->biginteger('has_settings_id')->unsigned();

这就是 laravel 添加对多态关系的支持所需要的。

最佳答案

只要将正确的索引添加到表中,性能就不会成为多态关系的问题。

但是,您的表缺少一个字段以使其具有多态性,您需要与该设置相关的模型的名称。

$table->increments('id');
$table->integer('foreign_id')->unsigned();
$table->string('foreign_object'); // Object name (e.g.: 'App\User')
$table->string('key');
$table->string('value')->nullable();

$table->index(['foreign_id', 'foreign_object']); // To get all settings for an object
$table->index(['foreign_id', 'foreign_object', 'key']); // To get single key for an object

关于Laravel 多态关系性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45348399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com