✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Kuidas päringut Laravelis sisse logida

18

Kas soovite päringu printida Laravelis? Või teisisõnu, kas soovite logida päringuid Laravelisse? Mõlemal küsimusel on veidi erinevad vastused. Päringu printimiseks saate printida viimati täidetud päringu ja kuvada selle brauseris. Kuid ma soovitaksin teil päringu Laraveli sisse logida. Seda tehes salvestatakse kõik teie päringud logifaili ja saate seda igal ajal vaadata.

Selles artiklis näitan teile mõlemat võimalust, mis aitavad kasutajal oma Laraveli rakenduses päringuid vaadata.

Laraveli rakenduse väljatöötamisel võite mõnikord kohata olukorda, kus peate nägema, kas kirjutatud päring on õige või mitte. Selle põhjuseks on mitu põhjust – võib-olla ei saa kasutajad oodatud väljundit, te saate andmebaasiserverilt aeglast vastust või ei saa teie päringuga midagi valesti vms. Kõigi nende stsenaariumite korral kui logite päringut, aitab see probleemi siluda.

Kuidas päringut Laravelis printida?

Viimati täidetud päringu printimine on ühekordne protsess. Võimalik, et peate oma päringu lihtsalt brauserisse printima. See ei salvesta päringut kuhugi. Allpool on lihtne näide päringu printimiseks Laravelis.

DB::enableQueryLog();
$arr_user = DB::table('users')->select('name', 'email as user_email')->get();
dd(DB::getQueryLog());

Siin olen kasutanud kahte väidet DB::enableQueryLog()ja dd(DB::getQueryLog()). Esimene lause võimaldab päringu logimist, teine ​​lause aga printib selle logi brauserisse. See silumisvõte töötab ka Laravel Eloquentiga.

Seda meetodit saab kasutada, kui nad ei soovi päringuid logida. Kuid nagu varem öeldud, pole see tegelikult mugav viis. Sest kui järgite seda tehnikat, peate neid kahte lauset DB::enableQueryLog()ja dd(DB::getQueryLog())iga päringu puhul korrata .

Parem variant on kõigi päringute logimine logifailis.

Palgipäring Laravelis

Soovitan Laraveli päringute logimise tehnikat. See on arendajatele lihtsam ja mugavam viis. Teil pole vaja minna iga päringu kohta ja logimise jaoks koodi kirjutada.

Selle asemel peate ainult muutma AppServiceProvider.phpja olete valmis.

Avage app/Providers/AppServiceProvider.phpfail ja lisage failide ja DB jaoks 2 fassaadi järgmiselt.

use IlluminateSupportFacadesFile;
use IlluminateSupportFacadesDB;

Seejärel boot()kirjutage meetodis allpool olev kood, mis logib kõik teie Laraveli päringud taustale.

public function boot()
{
    if(env('APP_DEBUG')) {
        DB::listen(function($query) {
            File::append(
                storage_path('/logs/query.log'),
                $query->sql. ' ['. implode(', ', $query->bindings). ']'. PHP_EOL
           );
        });
    }
}

Nüüd, kui päring täidetakse, logitakse see storage/logs/query.logfaili automaatselt sisse. Kasutaja saab selles päringus oma päringuid otse vaadata query.log.

Laravelis on päringute logimiseks veel üks viis. Sel viisil salvestatakse teie päringulogid storage/logs/laravel.logfaili. Selleks peate oma routes/web.phpfaili sisestama alloleva koodi .

DB::listen(function($sql) {
    Log::info($sql->sql);
    Log::info($sql->bindings);
    Log::info($sql->time);
});

See selleks! Nüüd on teie ülesanne kasutada päringute logimiseks ühte ülaltoodud meetoditest. Teil pole vaja kasutada mõlemat meetodit korraga.

See kõik on seotud päringute logimisega Laravelis. Loodan, et see artikkel on teie rakenduse jaoks kasulik. Palun jagage oma mõtteid ja ettepanekuid allpool olevas kommentaaride jaotises.

seotud artiklid

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem