WebHU - Programozási kérdések és válaszok

Laravel furcsa viselkedést modellez

Csak kíváncsi, hogy miért.

 public function get_number() {

    if(Model::get()->isEmpty()) {

        $number = Model::create(['number' => '1111111111']);

        $nubmer = $number->number; //(returns a... model, that's a suprise for me)

    } else {

        $number = Model::orderBy('number', 'desc')->first()->number;

        $number = Model::create(['number' => $number+1]);

        $number = $number->number; //(returns a property 1111111112 etc).

    }

return $number;

Mindkét esetben egy modell tulajdonságát próbálom megszerezni:

$number = $number->number;

De amikor az "If" rész működik, modellt ad vissza (nem tulajdonságot)... amikor az "else" rész működik, akkor egy tulajdonságot ad vissza (amire számítottam).

Ez azt jelenti, hogy valamit nem értek Laravelben :)

Miért ad vissza egy teljes modellt "If" esetben? :)

17.02.2018

  • Elírási hiba van az if feltételben nubmer. Az első esetben modellt ad vissza, mivel soha nem írja felül a number változó eredeti értékét. 17.02.2018
  • köszönöm) nagyon hülye))) 17.02.2018

Válaszok:


1

Az Ön if blokkja elírási hibát tartalmaz:

public function get_number() {

if(Model::get()->isEmpty()) {

    $number = Model::create(['number' => '1111111111']);

    // this should be $number
    // $nubmer = $number->number;
    // change it to
    $number = $number->number;

} else {

    $number = Model::orderBy('number', 'desc')->first()->number;

    $number = Model::create(['number' => $number+1]);

    $number = $number->number; //(returns a property 1111111112 etc).

}

Ezenkívül nem kell hozzárendelnie a $number = $number->number; értéket, egyszerűen adja vissza:

return $number->number;

Példa:

public function get_number() {
    if(Model::get()->isEmpty()) {
        $number = Model::create(['number' => '1111111111']);
    } else {
        $number = Model::orderBy('number', 'desc')->first()->number;
        $number = Model::create(['number' => $number+1]);
    }

    return $number->number;
}
17.02.2018
Új anyagok

A rádiógomb ellenőrzött eseményének használata a jQueryben
Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

Miért érdemes elkezdeni a kódolást 2023-ban?
01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

🎙 Random Noise #2  – Örökbefogadás és hit
az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..