我已根据要求将所有版本更新为最新版本。
但是在我的view
文件中,我收到了一些错误,我不明白为什么:示例如下:
<a href="#" class="teams_button_2">'.($relations[$team->teams_id]?$relation_names[$relations[$team->teams_id]]:'Neutral').'</a>
我收到此错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: relations
Filename: pages/teams.php
Line Number: 48
之前完美无缺,但现在已经完成了。我得到了其他一些类似的东西。可能导致什么呢?
更新:控制器:
function view()
{
$data['player'] = $this->user->info( $this->user->id() );
$data['motors_count'] = $this->user->count_motors( $this->user->id() );
$data['menu_active']['teams'] = ' active';
$data['teams'] = $this->db->order_by( 'team_points', 'desc' )->get( 'teams' )->result();
if ( $this->user->team_id() )
{
$relations = $this->db->where( 'teams_relations_teams_id', $this->user->team_id() )->get( 'teams_relations' )->result();
}
$requests = $this->db->where( 'teams_join_requests_user_id', $this->user->id() )->get( 'teams_join_requests' )->result();
$data['requests'] = array();
if ( $relations )
foreach ( $relations as $relation )
$data['relations'][$relation->teams_relations_second_teams_id] = $relation->teams_relations_type;
if ( $requests )
foreach ( $requests as $request )
$data['requests'][] = $request->teams_join_requests_teams_id;
$this->load->view( 'logged/includes/header.php', $data );
$this->load->view( 'logged/pages/teams.php' );
$this->load->view( 'logged/includes/footer.php' );
}
答案 0 :(得分:0)
是可选的 - 你将它包装在IF中 - 但是在你的View中它不是可选的。
检查控制器中的$ relationship - 如果没有$ relationship - 则调用不使用它的视图。或者在视图文件中检查$ relationship。
所以这是一个问题 -
$relations = $this->db->where( 'teams_relations_teams_id', $this->user->team_id() )->get( 'teams_relations' )->result();
但如果你没有得到任何结果会怎样?检查你可以在该方法中编写更多的IF / ELSE代码,但随后它开始转向Pasta Indented。所以你要重构的地方,将数据库交互放入模型中,然后让控制器只检查数据库中是否有东西返回。
我也不知道所以我只测试了它 - 但如果你将$ data传递给第一个加载视图文件(就像你正在做的那样),$ data将自动传递给其他加载视图文件。