Laravel多态关系

时间:2014-05-14 08:50:06

标签: php laravel

处理没有多态对象记录的实例的最佳方法是什么。

   user_type A table ( user_id , username )

   user_type B table (user_id , username )

   event table (event_id, user_id, user_type )

样本数据

A_table user_id,用户名 1,山姆 2,约翰

B_table user_id,用户名 1,唐 2,迈克

Event_table event_id,user_id,user_type 1,1,A //记录1 2,2,B //记录2 1,5,A //记录3

考虑以下伪代码:
       Event instance ->user->username

1)运行上面的记录1应该导致“Sam” 2)运行上面的记录2应该导致“迈克”

想象一下第三种情况:

“事件实例 - >用户”的结果为NULL。

除了在我们使用它的每个实例之前总是检查Object是否为null之外,我们如何才能最好地解决这种情况。

1 个答案:

答案 0 :(得分:0)

解决这个问题的最佳方法是做一个简单的事情:

if ( ! $this->polymorfphic_object_method)
{
  // skip now
}