Причина, по которой вы получаете только последние значения, заключается в том, что вы присваиваете значения тому же индексу, который переопределяет предыдущее значение. ты должен попробовать это
foreach($query->result() as $rows) // correction here.
{
$user=$rows->userby;
$data['user_status'][]=$rows->status;
$data['user'][]=$user;
$status=$this->Common_model->getTableData('table name', array('id' =>$data['user_status']))->row();
$data['status'][]=$status->name;
}