gpt4 book ai didi

laravel - 一个 Laravel 模型中的多个表

转载 作者:行者123 更新时间:2023-12-02 14:27:00 26 4
gpt4 key购买 nike

我正在编写一个支持多语言的“模块权限管理”系统。我正在使用三个相关的表:

模块、modules_trans、modules_permissions

使用单个模型来处理 Laravel 中的所有三个相关表是否可以接受(最佳实践)?

最佳答案

据我了解,你们的关系可能如下

class Language
{
public function modules()
{
return $this->belongsToMany('App\Module');
}
}

class Permission
{
public function modules()
{
return $this->belongsToMany('App\Module');
}
}

class Module
{
public function languages()
{
return $this->belongsToMany('App\Language');
}
public function permissions()
{
return $this->belongsToMany('App\Permission');
}
}

您的数据库应尽可能遵循ACID ( wiki )!所以...不!不要把事情搞混。至少如果你们的关系如上面所指定的那样,则不然。

因此,您的表格必须如下所示...

module
id | name | ....

language_module
id | language_id | module_id

module_permission
id | module_id | permission_id

关于laravel - 一个 Laravel 模型中的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41316017/

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