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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

從拉拉維爾/拉拉維爾諾瓦中的另一個(gè)模型返回?cái)?shù)據(jù)

從拉拉維爾/拉拉維爾諾瓦中的另一個(gè)模型返回?cái)?shù)據(jù)

PHP
喵喵時(shí)光機(jī) 2022-09-12 09:12:39
我的問(wèn)題:在拉威爾諾瓦,如何根據(jù)國(guó)家ID顯示國(guó)家名稱?我有 2 張桌子:國(guó)家countries_price國(guó)家表包含等。id, namecountries_price表保持id, country_id, country_price型號(hào): (拉拉維爾和新星)在鄉(xiāng)村模型中(拉拉維爾): public function countryPrice() {        return $this->hasOne('App\\CountryPrice');    }在鄉(xiāng)村價(jià)格模型(拉拉維爾):    public function countries()    {        return $this->hasMany('App\Country', 'id', 'country_id');    }在國(guó)家模型(新星):HasOne::make('CountryPrice'),在鄉(xiāng)村價(jià)格模型 (新星):HasMany::make('Countries'),我正在嘗試:在鄉(xiāng)村價(jià)格模型 (拉拉維爾)    public function getCountryName() {        return Country::where('id', $this->country_id)->first()->name;    }在鄉(xiāng)村價(jià)格模型 (新星)    public function fields(Request $request)    {        return [            ID::make()->sortable(),            ID::make('Country ID','country_id'),// TRYING TO PULL IN COUNTRY NAME HERE            Text::make('Country Name', function () {                $countryName= $this->getCountryName;                return $countryName;            }),            Text::make('Base Price', 'trip_cost'),            HasMany::make('Countries'),        ];    }我的錯(cuò)誤:應(yīng)用\國(guó)家/地區(qū)價(jià)格::獲取國(guó)家/地區(qū)名稱必須返回關(guān)系實(shí)例我不明白這個(gè)錯(cuò)誤,需要幫助才能使它工作。任何幫助將不勝感激。
查看完整描述

1 回答

?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

根據(jù)您的意見進(jìn)行更新

似乎您在國(guó)家/地區(qū)和鄉(xiāng)村價(jià)格之間有一對(duì)一的關(guān)系。它可以理解如下:“一個(gè)國(guó)家有一個(gè)國(guó)家價(jià)格,每個(gè)國(guó)家價(jià)格屬于一個(gè)且只有一個(gè)國(guó)家”。


該關(guān)系可以通過(guò)以下方式建立:國(guó)家模型


public function countryPrice()

{

    return $this->hasOne(CountryPrice::class);

}

國(guó)家價(jià)格模型


public function country()

{

    return $this->belongsTo(Country::class);

}

然后相應(yīng)地更新 nova 實(shí)體:國(guó)家/地區(qū)資源


public function fields(Request $request)

{

    return [

        // ...

        HasOne::make('Country Prices'),

        // ...

    ];

}

國(guó)家價(jià)格資源


public function fields(Request $request)

{

    return [

        // ...

        BelongsTo::make('Country'),

        // ...

    ];

}

然后在國(guó)家/地區(qū) nova 資源中指定標(biāo)題屬性,如我在舊答案中在下面解釋的那樣:


/**

 * The single value that should be used to represent the resource when being displayed.

 *

 * @var string

 */

public static $title = 'name';

生成的系統(tǒng)將允許您在從 nova 界面創(chuàng)建國(guó)家/地區(qū)價(jià)格記錄時(shí)從選擇框中選擇單個(gè)國(guó)家/地區(qū)。在國(guó)家/地區(qū) nova 指數(shù)中,您還將看到每個(gè)國(guó)家/地區(qū)及其指定的價(jià)格。


我希望這是你需要的正確行為。如果不正確,請(qǐng)告訴我,我會(huì)在Stack Overflow上打開一個(gè)聊天,以便我們可以準(zhǔn)確地整理出您需要的內(nèi)容并解決問(wèn)題。


下面的舊答案

修復(fù)關(guān)系

我認(rèn)為你們的關(guān)系設(shè)置錯(cuò)了。從您發(fā)布的表架構(gòu)來(lái)看,看起來(lái)每個(gè)架構(gòu)都可以有很多,因?yàn)槟鷮⒘蟹旁?.CountryCountryPricecountry_idcountry_prices


因此,如果“國(guó)家/地區(qū)具有多個(gè)國(guó)家/地區(qū)價(jià)格”,則“每個(gè)國(guó)家/地區(qū)價(jià)格屬于一個(gè)國(guó)家/地區(qū)”。


如果我誤解了你們的關(guān)系,請(qǐng)?jiān)谠u(píng)論中告訴我正確的關(guān)系,我會(huì)修復(fù)我的答案。


您可以按如下方式設(shè)置這兩個(gè)關(guān)系:


國(guó)家模式


public function countryPrices()

{

    return $this->hasMany(CountryPrice::class);

}

國(guó)家價(jià)格模型


public function country()

{

    return $this->belongsTo(Country::class);

}

然后更新兩個(gè) Nova 資源以匹配新的關(guān)系:


國(guó)家資源


public function fields(Request $request)

{

    return [

        // ...

        HasMany::make('Country Prices'),

        // ...

    ];

}

國(guó)家價(jià)格資源


public function fields(Request $request)

{

    return [

        // ...

        BelongsTo::make('Country'),

        // ...

    ];

}

解釋當(dāng)前異常

應(yīng)用\國(guó)家/地區(qū)價(jià)格::獲取國(guó)家/地區(qū)名稱必須返回關(guān)系實(shí)例


您收到的錯(cuò)誤與Nova本身無(wú)關(guān)。發(fā)生這種情況是因?yàn)槟P椭卸x的每個(gè)(非靜態(tài))方法都應(yīng)該是查詢范圍、模型訪問(wèn)器/賦值器或關(guān)系。


這意味著,如果定義 ,它將被視為關(guān)系,并且需要返回關(guān)系實(shí)例,但您將返回一個(gè)字符串。getCountryName


在您的用例中,您實(shí)際上并不需要定義訪問(wèn)器。您可以使用:


$countryPrice->country->name

在實(shí)例上。CountryPrice


修復(fù)顯示標(biāo)題

要修復(fù)資源上的選擇輸入中顯示的選項(xiàng),您必須定義一個(gè)屬性或方法,該屬性或方法將在您鏈接到的 Nova Resource 類中完全用于該目的(在您的示例中)。CountryBelongsToCountryPricetitleCountry


您可以使用:


/**

 * The single value that should be used to represent the resource when being displayed.

 *

 * @var string

 */

public static $title = 'name';

或者,如果您需要從其他特性/轉(zhuǎn)換中計(jì)算標(biāo)題屬性:


/**

 * Get the value that should be displayed to represent the resource.

 *

 * @return string

 */

public function title()

{

    // You can make advanced transformations/processing of any value here

    // $this will refer to the current resource instance.

    return $this->name;

}

這也適用于全球檢索。


查看完整回答
反對(duì) 回復(fù) 2022-09-12
  • 1 回答
  • 0 關(guān)注
  • 84 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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