【问题标题】:laravel 5.2 one pivot with many relations (belongstomany/polymorphic)?laravel 5.2 一个具有许多关系的枢轴(属于/多态)?
【发布时间】:2016-07-08 05:46:39
【问题描述】:

伙计们。 我需要你的帮助。

我有三个关于 laravel/eloquent/relation 中的逻辑和最佳实践的问题。

第一个场景

我有四个模型/表格。

1.) model: Ticket | db: tickets
2.) model: Status | db: status
3.) model: Comment | db: comments
4.) model: User | db: users
and
1.) one pivottable between Ticket and Status (status_ticket)

逻辑问题:

1.) one ticket can have many status. (belongstomany/belongstomany)
2.) each status can have one comment (hasone/belongsto) and one user (hasone/belongsto) but only in combination with ticket (pivot:status_ticket).

我的想法是给数据透视表增加两个列(withPivot('user_id','comment_id'))

*) 第一个问题: 我怎样才能实现这种结构?

第二种情况 第二个问题与第一个问题相同,但在这种情况下,我如何才能访问“评论”而不是使用 hasone/belongsto 而不是使用多态关系?

我的数据库:

comments
    id - integer
    message - string

status
    id - integer
    name - string

tickets
    id - integer
    name - string

users
    id - integer
    name - string

第三个​​问题 命名数据透视表的最佳方式是什么?

1.) 
status_ticket
    id - integer
    comment_id - integer
    status_id - integer
    ticket_id - integer
    user_id - integer

2.)
comment_status_ticket_user
    id - integer
    comment_id - integer
    status_id - integer
    ticket_id - integer
    user_id - integer

【问题讨论】:

    标签: php laravel polymorphism pivot has-and-belongs-to-many


    【解决方案1】:

    我的解决方案:

    我为数据透视表创建了一个模型。 在数据透视表模型中,我创建了与 morphOne 的关系(评论)。 信息:user_id 现在位于 cmets 数据库中。

    DB(在状态和工单之间转换): status_ticket

    id - integer
    status_id - integer
    ticket_id - integer
    

    数据库: 厘米

    id - integer
    message - string
    user_id - integer
    commentable_id - integer
    commentable_type - string
    

    型号: 工单状态

    namespace App;
    use Illuminate\Database\Eloquent\Model;
    
    class TicketStatus extends Model {
    
    protected $table = 'status_ticket';
    public $timestamps = true;
    
        public function comment() {     
            return $this->morphOne('App\Comment', 'commentable');
        }
    
    }
    

    堆栈溢出: How to use multiple pivot table relationships

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      • 2019-08-12
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      相关资源
      最近更新 更多