3

フレームワーク自体のバグであると思われる奇妙なことに遭遇したので、同様の経験があったかどうか疑問に思っています。

私は 2 つのエンティティを持っています:ContactMedia1:M の関係にあります。関係は次のように定義されます。

public function media()
{
    return $this->hasMany(Media::class);
}

今私が見る問題は、showコントローラーメソッドに行き、次のようなリレーションをロードするときです:

public function show(Contact $contact)
{
    $contact->load('media');
    return response()->json($contact);
}

連絡先は、次の方法でメディア関係を使用して問題なく解決されます。

"first_name": "Melisa",
...
"media": [
    {
        "id": 50,
    ...

ただし、関係の大文字と小文字を変更して、次のように呼び出すと:

public function show(Contact $contact)
{
    $contact->load('mEdIa');
    return response()->json($contact);
}

戻り値:

"first_name": "Melisa",
...
"m_ed_ia": [
    {
        "id": 50,
    ...

……本当に悩ましい。それは起こるはずですか?

4

2 に答える 2

0

Laravelにはそのような動作があります。同じキー「mEdIa」を取得するには、mediaモデルに追加する必要があります。

public static $snakeAttributes = false;

于 2020-07-16T15:31:44.620 に答える