laravel

Laraveli BadMethodCallExceptioni meetodit [leidma] pole olemas

Laraveli BadMethodCallExceptioni meetodit [leidma] pole olemas

Probleem

Olen püüdnud andmebaasist hankida Eloquenti mudelit, kuid lähen sellega edasi BadMethodCallExceptionMethod [leidma] ei eksisteeri.

Siit proovisin siiani:

nimeruumi rakendus;
kasutage Illuminate \ Database \ Eloquent \ Model;
kasuta rakendust \ Organization;
klassi kasutaja laiendab mudelit
/ **
* Mudeli kasutatav andmebaasitabel.
*
* @var string
* /
kaitstud $ table = 'kasutajad';
/ **
* Mudeli JSON-vormist välja jäetud atribuudid.
*
* @var massiiv
* /
kaitstud $ hidden = array ('parool');
avaliku teenuse organisatsioonid ()

tagastage $ this-> belongToMany (organisatsioon :: klass);

See on põhiline kasutajaklass, mis kaasneb iga uue Laraveli projektiga. Pärast uue kasutaja loomist näen selgelt, et ID3-ga kasutaja on andmebaasis olemas. Kuid kui ma järgin järgmist, siis lõpetan BadMethodCallExceptioni meetodit [leidma] pole olemas

klassi kasutaja laiendab BaseControllerit
avalik funktsioon getUser ($ id)

$ my_user = Kasutaja :: leia ($ id);
tagasivaade ('kasutajad.register ', massiiv (' kasutaja '=> $ minu_kasutaja));

Fail Minu marsruudid marsruudid \ veeb.php:

Route :: get ('kasutaja / id', '[meiliga kaitstud]');
Marsruut :: get ('/', function ()

return Vaade :: make ('test');
);

Lahendus

Selle juurutamisega kaasnevad mõned probleemid, mis võivad põhjustada teie vastuvõtmise BadMethodCallExceptioni meetodit [leidma] pole olemas erand.

Pärast seda peaksite saama oma rakenduse \ kasutaja mudeli juurde pääseda nii, nagu soovite.

Lisaselgitus (ainult hariduslikel eesmärkidel)

Nagu teate, pole veebiarendus kunagi tähendanud ühe mehe näitamist. Umbes 90% ajast võite eeldada koostööd teiste arendajatega. Projekti õnnestumiseks peate veenduma, et kõik järgivad üldisi kodeerimisreegleid.

Reeglid puudutavad nimetamise tavasid ja ma saan aru, et kindla nimetamiskonventsiooniga kursis hoidmine nõuab palju pingutusi ja võib raisata palju meeskonna aega, kuni kõik neist aru saavad ja neid järgivad. See on eriti raske uute arendajatega, kes meeskonnaga liituvad.

Ma soovitaksin teil proovida enne enda kirjutamise alustamist lugeda rohkem teiste inimeste koode, et lihtsalt mõista tööstuse parimaid tavasid.

Mõned reeglid on kohustuslikud ja mõned jäetakse meeskonna otsustada, kuidas nad soovivad läheneda.

Ülaltpoolt vaadates märkate, et kõik klassid tuleks kirjutada StudlyCapsis, nii et UserController ja mitte user_controller .

Ja see on näide kohustuslikust reeglist, mida tuleb järgida.

Näide sellest, mida meeskonnana võiksite sisereeglina määratleda, on see, kuidas nimetate oma klasse, meetodeid ja muutujaid.

Kui eeldatakse, et projekt aja jooksul kasvab, võite kindlasti oodata paljusid erinevaid üksusi, mis hõlmavad ühel või teisel viisil kasutajat, seega on oluline, et te ei peaks oma klasside, meetodite ja muutujate jaoks välja pakkuma ebamääraseid nimesid.

Minu isiklik näpunäide on; ärge kartke omada pikemat klassi või meetodi nime. Kui teil on vaja kommentaari, mis selgitab teie meetodit, võib teie meetodi nimi olla parem.

Selle näiteks on see, et kui peate kasutajaid andmebaasist hankima mõne lisatingimusega, võib-olla on tegemist üle 50-aastaste kasutajatega, siis ärge nimetage oma meetodit getUsers . Parem viis selle nimetamiseks on getAllUsersOver50YearsOld .

Parimad Linuxi käsurea mängud
Käsurida pole Linuxi kasutamisel lihtsalt teie suurim liitlane - see võib olla ka meelelahutusallikas, sest saate seda kasutada paljude lõbusate mängu...
Parimad Linuxi mängupuldi kaardistamise rakendused
Kui teile meeldib mängida Linuxis mänge tavalise klaviatuuri ja hiire sisestussüsteemi asemel mängupuldiga, on teie jaoks mõned kasulikud rakendused. ...
Kasulikud tööriistad Linuxi mängijatele
Kui teile meeldib Linuxis mänge mängida, on tõenäoline, et olete mängukogemuse parandamiseks kasutanud selliseid rakendusi ja utiliite nagu Wine, Lutr...