Несколько foreach, получая первый массив пустым - PullRequest
0 голосов
/ 30 декабря 2018

Я использую CodeIgniter.Что я делаю, так это то, что я получаю все записи из таблицы и передаю идентификатор модели, чтобы получить все связанные записи.Итак, на странице просмотра я отображаю всех пользователей Name и Email, используя первый foreach, а во втором foreach я отображаю все записи, связанные с идентификатором.

Итак, мой вывод:

Name: alex
Email: alex@gmail.com

Active Name:poiuy
Active Duration: 3m

Active Name:wer
Active Duration: 6m

Active Name:pojfd
Active Duration: 12m

Контроллер

$getDetails['secMember']=$this->Member_model->getSecMemberinfo();//getting all the member details

$getDetails['getSecMemberActivity']=$this->Member_model->getSecMemberActivity($getDetails['secMember']->id);//getting all the details related to the id

$this->load->view('profile',$getDetails);

Модель

public function getSecMemberinfo(){
        $get_s_member = array('members.member_type' =>2,'members.is_Approved'=>1,'members.is_status'=>1);
        $res =$this->db->where($get_s_member);
                       ->from('members'); 
                       ->join('relation_member', 'relation_member.secondary_member_id = members.member_id');
                       ->join('relations', 'relations.relations_id = relation_member.relation_with_primary_member'); 
                       ->get();
                       ->result();

     return $res;

    }

    public function getSecMemberActivity($gotSecondaryMemberId){
        $getDetails = array('members.member_id'=>$gotSecondaryMemberId);
        $result = $this->db->where($getDetails)
                              ->from('members')
                              ->join('member_activity', 'members.member_id = member_activity.member_id','LEFT')
                              ->join('activity_name', 'activity_name.activity_name_id = member_activity.activity_id','LEFT')
                              ->get()
                              ->result();
        if($result)
        {
           return $result;  
        }
        else 
        {
           return 0;    
        }

    }

просмотр

<?php 
 foreach ($secMember as $secPay) {//first foreach
   if($secPay->member_type == 2){?>
    <div class="perSet">
      <h2><?php echo $secPay->name?></h2>
      <h2><?php echo $secPay->email?></h2>
    <?php 
    $SActivity=$getSecMemberActivity;
    if ($SActivity){
     foreach ($SActivity as $sec_activities) {?> <!--2nd foreach-->
      <div><p><?php echo $sec_activities->activeName;?></p></div>
      <div><p><?php echo $sec_activities->activeDuration;?></p></div>
    <?php }}?>
</div>
<?php }}?>

У меня есть два для каждого. foreach ($SActivity as $sec_activities) Я получаю несколько записей, но в первом массиве я получаю пустые записи, затем я получаю свой вывод.

например: у меня естьдве записи в $sec_activities.поэтому я получаю вывод как

stdClass Object
(   [id] =>
    [activeName] => 
    [activeDuration] => 
)
stdClass Object
(   [id] =>1
    [activeName] => qwer
    [activeDuration] => 6m
)
stdClass Object
(   [id] =>
    [activeName] => 
    [activeDuration] => 
)
stdClass Object
(   [id] =>2
    [activeName] => lkjh
    [activeDuration] => 3m
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...