0

私には2つの機能がgetCompanyDetailsあり、getHostingDetails

最初のデータベースは正常に動作しますgetCompanyDetailsが、getHostingDetails

Trying to get property of non-object

getCompanyDetails:

コントローラ: $data['companyName'] = $this->quote->getCompanyDetails()->companyName;

モデル:

public function getCompanyDetails()
{
    $this->db->select('companyName,companySlogan,companyContact,
                       companyEmail,companyWebsite,companyPhone,
                       companyFax,companyAddress');

    $this->db->from('companyDetails');
    $result = $this->db->get();

    if($result->num_rows()<1)
    {
        return FALSE;
    }else{
        return $result->row();
    }
}

getHostingDetails:

コントローラ:

$data['hostingRequired'] = $this->quote->getHostingDetails()->hostingRequired;

モデル:

public function getHostingDetails()
{
    $this->db->select('hostingRequired,domainRequired,domainToBeReged,
                       domaintoBeReged0,domainTransfer,domainToBeTransfered,
                       domainToBeTransfered0,currentHosting');

    $this->db->from('hostingDetails');
    $result = $this->db->get();

    if($result->num_rows()<1)
    {
        return FALSE;
    }else{
        return $result->row();
    }               
}
4

3 に答える 3

1

あなたの関数では、行が返されない場合get、コードがあなたを返す可能性があります。false詳細を取得する前に確認することをお勧めします。例:

$details = $this->quote->getHostingDetails();
if($details){
    $data['hostingRequired'] = $details->hostingRequired;
}
于 2012-04-08T02:17:43.040 に答える
1

1 つのメソッドはオブジェクトを返し、もう 1 つのメソッドは を返し$result->row()ますfalse。でメソッドを呼び出すことはできませんfalse

falseレコードが見つからない場合に返されます。したがって、使用する前に戻り値を確認する必要があります。

于 2012-04-08T02:17:51.877 に答える
0

問題はおそらく、コントローラーでこれらの関数をどのように使用するかです。それらのいずれかが FALSE を返す場合、

$this->quote->getHostingDetails()->hostingRequired;

エラーが発生します。試す

if ($row = $this->quote->getHostingDetails()) {
    echo $row->hostingRequired;
}
于 2012-04-08T02:19:08.427 に答える