ларавел

Ларавел БадМетходЦаллЕкцептион метода [пронађи] не постоји

Ларавел БадМетходЦаллЕкцептион метода [пронађи] не постоји

Проблем

Покушавам да добијем елоквентни модел из базе података, али стално улазим у њега БадМетходЦаллЕкцептионМетход [пронађи] не постоји.

Ево шта сам до сада покушао:

Апп Апп;
користите Иллуминате \ Датабасе \ Елокуент \ Модел;
користите Апп \ Органисатион;
класа Корисник проширује Модел
/ **
* Табела базе података коју користи модел.
*
* @вар стринг
* /
заштићен $ табле = 'усерс';
/ **
* Атрибути изузети из ЈСОН обрасца модела.
*
* @вар низ
* /
заштићен $ хидден = арраи ('лозинка');
организације са јавним функцијама ()

врати $ тхис-> припадаТоМани (Организација :: класа);

Ово је основна корисничка класа која долази уз сваки нови Ларавел пројекат. Након креирања новог корисника, јасно видим да корисник са ИД3 постоји у бази података. Међутим, када урадим следеће, завршим са Метода БадМетходЦаллЕкцептион [пронађи] не постоји

класа Корисник проширује БасеЦонтроллер
јавна функција гетУсер ($ ид)

$ ми_усер = Корисник :: финд ($ ид);
ретурн виев ('корисници.индекс ', низ (' корисник '=> $ мој_корисник));

Датотека Ми Роутес роуте \ веб.пхп:

Роуте :: гет ('усер / ид', '[емаил протецтед]');
Рута :: гет ('/', фунцтион ()

ретурн Виев :: маке ('тест');
);

Решење

Постоји неколико проблема са овом применом због којих бисте могли да примате Начин БадМетходЦаллЕкцептион [пронађи] не постоји изузетак.

Након тога требали бисте имати приступ свом Апп \ Усер моделу како сте намјеравали.

Даље објашњење (само у образовне сврхе)

Као што знате, веб развој никада није значио да буде самостална емисија. Генерално можете очекивати да сарађујете са другим програмерима око 90% времена. Да би пројекат био успешан, морате бити сигурни да сви поштују општа правила кодирања.

Једно од правила односиће се на конвенције именовања и схватам да држање корака са одређеном конвенцијом именовања захтева много труда и потенцијално може изгубити пуно времена тима док их сви не могу разумети и следити. Ово је посебно тешко за нове програмере који се придружују тиму.

Предложио бих вам да покушате да прочитате више кода других пре него што почнете да пишете свој, само да бисте стекли увид у најбоље индустријске праксе.

Нека правила су обавезна, а нека су препуштена тиму да одлучи како жели да приступи.

Гледајући проблем одозго, приметићете да све класе треба да буду написане у СтудлиЦапс, дакле УсерЦонтроллер, а не усер_цонтроллер .

И ово је пример обавезног правила које се треба придржавати.

Е сад, пример онога што бисте као тим могли да дефинишете као своје интерно правило је како именујете своје класе, методе и променљиве.

Ако се очекује да ће пројекат временом расти, сигурно можете очекивати много различитих ентитета који на овај или онај начин укључују корисника, тако да је важно да не измишљате нејасна имена за своје класе, методе и променљиве.

Мој лични савет је овде; не бојте се да имате дужи разред или име методе. Ако требате да имате коментар који објашњава вашу методу, име вашег метода вероватно може бити боље.

Пример овога је да ако требате да преузмете кориснике из базе података са неким додатним условом, можда су то корисници старији од 50 година, онда не именујте свој метод гетУсерс . Бољи начин да га именујете је гетАллУсерсОвер50ИеарсОлд .

Како појачати ФПС у Линуку?
ФПС је скраћеница за Фрејмова у секунди. Задатак ФПС-а је да мери брзину кадрова у репродукцијама видео записа или играчким перформансама. Једноставни...
Најпопуларније лабораторијске игре Оцулус Апп
Ако сте власник Оцулус слушалица, онда морате бити упознати са бочним учитавањем. Бочно учитавање је поступак инсталирања не-продавничког садржаја на ...
10 најбољих игара за играње на Убунту-у
Виндовс платформа је била једна од доминантних платформи за играње игара због огромног процента игара које се данас развијају да би подржале Виндовс. ...