第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Laravel 中設(shè)置與數(shù)據(jù)庫字段同名的屬性返回錯誤

在 Laravel 中設(shè)置與數(shù)據(jù)庫字段同名的屬性返回錯誤

PHP
暮色呼如 2022-05-27 16:35:39
我的項(xiàng)目有問題。我有一個字段名稱 contact_number 我以這種格式存儲 json 數(shù)據(jù){"code":"","number":""}。我想設(shè)置兩個屬性名稱getCountryCodeAttribute,getContactNumberAttribute以便我可以code單獨(dú)訪問number。但它會引發(fā)錯誤Undefined property: App\Models\Profile::$contact_number我的模型代碼是?phpnamespace App\Models;class Profile extends Model{    use SoftDeletes;    protected $guarded = [];    protected $casts = [        'contact_number' => 'array',    ];    public function getCountryCodeAttribute()    {        $contact_number = $this->contact_number;        return $contact_number['code'];    }    public function getContactNumberAttribute()    {        $contact_number = $this->contact_number;        return $contact_number['number'];    }}我不知道如何解決這個問題。在此先感謝您的幫助
查看完整描述

3 回答

?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個贊

  1. 您已經(jīng)有一個名為 的字段contact_number,但是您想定義一個屬性 contract_number,這是錯誤的,請嘗試使用其他名稱。

  2. contract_number的是 json 格式。從數(shù)據(jù)庫中取出后,需要解碼,否則為字符串,不能使用$contact_number['number']。

public function getProfileContractCodeAttribute()

{

    $contact_number = json_decode($this->contact_number, true);

    return $contact_number['code'];

}


public function getProfileContractNumberAttribute()

{

    $contact_number = json_decode($this->contact_number, true);

    return $contact_number['number'];

}


所以你可以得到這樣的屬性:


Profile::find(1)->profile_contract_number;


查看完整回答
反對 回復(fù) 2022-05-27
?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個贊

在accessor您無法訪問該屬性的范圍內(nèi)。所以是Undefined


    public function getContactNumberAttribute()

    {

        $contact_number = $this->contact_number;//$this->contact_number is not valid

        return $contact_number['number'];

    }

將ContactNumber部分更改為其他內(nèi)容PhoneNumber


    public function getCountryCodeAttribute()

    {

        $contact_number = $this->contact_number;


        return $contact_number['code'];

    }


    public function getPhoneNumberAttribute()

    {

        $contact_number = $this->contact_number;


        return $contact_number['number'];

    }

然后像這樣訪問它。


    dd(User::find(1)->phone_number);

    dd(User::find(1)->country_code);


查看完整回答
反對 回復(fù) 2022-05-27
?
jeck貓

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個贊

試試看json_decode


public function getCountryCodeAttribute()

{

    $contact_number = json_decode($this->contact_number);

    return $contact_number['code'];

}


public function getContactNumberAttribute()

{

    $contact_number = json_decode($this->contact_number);

    return $contact_number['number'];

}


查看完整回答
反對 回復(fù) 2022-05-27
  • 3 回答
  • 0 關(guān)注
  • 215 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號