处理没有多态对象记录的实例的最佳方法是什么。
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之外,我们如何才能最好地解决这种情况。
答案 0 :(得分:0)
解决这个问题的最佳方法是做一个简单的事情:
if ( ! $this->polymorfphic_object_method)
{
// skip now
}