Попытка получить свойство ошибки необъекта при получении значения столбца из базы данных. - PullRequest
0 голосов
/ 25 марта 2019

Привет. Я пытаюсь получить значение столбца из базы данных в разделе предварительного просмотра, чтобы каждое содержимое загружалось на веб-страницу через базу данных.Я сопоставил идентификатор одной таблицы с идентификатором другой таблицы, в результате получил всю строку, сохранил ее в переменной и попытался выбрать выборочное значение из этой строки, чтобы отобразить его на моей веб-странице.Но когда я пытаюсь получить значение выборочного столбца, на моей странице появляется сообщение об ошибке «Попытка получить свойство необъекта».Пожалуйста, помогите мне в этом.Вот мои коды: -

Код страницы моего просмотра: -

<ul>
    <li><p> <?= $seller->Name; ?></p></li>
    <li><p> <?= $switch->return_policy; ?> Return Policy</p></li>
    <li><p>Replacement  <?= $switch->replacement; ?> </p></li>
    <li><p>Cash On Delivery <?= $switch->cod; ?></p></li>       
</ul>    

В этой строке отображается ошибка <li><p> <?= $seller->Name; ?></p></li>

Код моего контроллера был: -

public function Preview_Switch($switch_id)
   {
    if($this->session->userdata('seller_username') == "" && $this- 
               >session->userdata('seller_password') == ""){
        return redirect('seller/index');
    }
    else
    {
        $result = $this->sm->Preview_Switch($switch_id);
        $seller_id = $result->seller_id;
        $seller = $this->sm->Get_Seller_Info($seller_id);
        if($result)
        {
             $this->load->view('seller/Work_List/Switch_Preview', 
             ['switch'=>$result, 'seller'=>$seller]);
        }
    }
}

И мой код модели: -

enter code here
public function Get_Seller_Info($seller_id)
{
$get_seller_info = $this->db->get_where('seller',['Id'=>$seller_id]);
if($get_seller_info->num_rows > 0)
    {
        return $get_seller_info->row();
    }
    else
    {
        return false;
    }
}

Ошибка отображается только в таблице продавца, хотя я могу получить значение из таблицы переключателей.

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

Изменение:

if($get_seller_info->num_rows > 0)

до:

if($get_seller_info->num_rows() > 0)

Ссылка:
query-> num_rows против запроса-> num_rows ()
ошибка codeigniter с num_rows (возможная ошибка?)

0 голосов
/ 25 марта 2019

Если вы используете return $get_seller_info->row(); без указания номера строки, вы не получите ожидаемого результата.

Если вы уверены, что ваш запрос вернет только одну строку, измените его на return $get_seller_info->row(0); иВы сможете использовать код в своем контроллере и просматривать без дальнейших изменений.

Если вы не уверены, сколько строк будет возвращено, измените его на return $get_seller_info->result();, а затем вы можете выполнить итерацию вваш контроллер или представление для просмотра каждой возвращаемой строки (независимо от того, сколько их) или доступа к данным в определенной строке, изменив представление на <?= $seller[0]->Name; ?>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...