cari
Rumahrangka kerja phpLaravel关于Laravel ORM操作的详解

关于Laravel ORM操作的详解

Apr 20, 2021 am 09:42 AM
laravel orm

下面由laravel教程栏目给大家介绍详解Laravel ORM操作,希望对需要的朋友有所帮助!

1、laravel获取最后一条sql语句和传入的值:

    public function getOrderDetail($orderId){

        \DB::connection()->enableQueryLog(); // 开启查询日志  

        $ordeList = OrderItem::where('order_id',$orderId)
            ->get()->toArray();        $queries = \DB::getQueryLog(); // 获取查询日志  

        echo "<pre class="brush:php;toolbar:false">";
            print_r($queries);            echo PHP_EOL;
            print_r($ordeList);        echo "
";

直接上图:

这里写图片描述

取出部分数据:

    public function getOrderDetail($uid,$orderId){
        $user = $this->check_user($uid);        $columns = [&#39;id&#39;, &#39;order_id&#39;, &#39;item_id&#39;, &#39;item_name&#39;, &#39;item_price&#39;, &#39;original_price&#39;, &#39;buy_num&#39;, &#39;real_num&#39;, &#39;cancel_num&#39;, &#39;status&#39;, &#39;create_time&#39;];        $ordeList = OrderItem::where(&#39;order_id&#39;,$orderId)
            -> orderBy(&#39;create_time&#39;,&#39;desc&#39;)
            ->get($columns)->toArray();        echo "<pre class="brush:php;toolbar:false">";
            print_r($ordeList);        echo "
"; exit; }

这里写图片描述

不存在就创建,存在就更新:

Model::updateOrCreate(
   [&#39;primary_key&#39; => 8],
   [&#39;field&#39; => &#39;value&#39;, &#39;another_field&#39; => &#39;another value&#39;]
);

Laravel子查询,多条件判断:

    public function getCourseProgress($uid,$levelId=0,$lessonId=0,$type=0,$page=0)
    {
        //检测用户合法性
        $user = $this->check_user($uid);        //当前页数
        $page = $page>0?$page:0;        //每页显示数量
        $perPage = config(&#39;bcc.per_page&#39;);        //显示字段
        $columns = [&#39;*&#39;];        #课程学习进度信息
        $result = LessonProgress::where(&#39;customer_id&#39;,$uid)
            ->where(function($query) use ($type){
                if($type) $query->where(&#39;source_type&#39;,$type);
            })
            ->where(function($query) use ($levelId,$lessonId){
                if($levelId && $lessonId) {                    $query->where([&#39;level_id&#39;=>$levelId,&#39;lesson_id&#39;=>$lessonId]);
                }elseif($levelId){                    $query->where(&#39;level_id&#39;, $levelId);
                }
            })->get();            //->paginate($perPage,$columns,$pageName=&#39;&#39;,$page);

        if($result->isEmpty()) return $this->responseSuccess([],&#39;No relevant information&#39;,20000);        return $this->responseCollection($result,new CourseProgressTransformer);
    }

Laravel运行复杂的原生语句:

    // 声母韵母分两类
    $data=Pronounce::selectRaw(&#39;group_concat(`letter`) as letters&#39;)
    ->groupBy(&#39;pronounce_type&#39;)
    ->get()
    ->toArray();

selectRaw里面可以直接写sql子句

Atas ialah kandungan terperinci 关于Laravel ORM操作的详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:csdn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Menggunakan Laravel: Menyelaraskan Pembangunan Web dengan PHPMenggunakan Laravel: Menyelaraskan Pembangunan Web dengan PHPApr 19, 2025 am 12:18 AM

Laravel mengoptimumkan proses pembangunan web termasuk: 1. Gunakan sistem penghalaan untuk menguruskan struktur URL; 2. Gunakan enjin templat bilah untuk memudahkan pembangunan pandangan; 3. Mengendalikan tugas-tugas yang memakan masa melalui beratur; 4. Gunakan eloquentorm untuk memudahkan operasi pangkalan data; 5. Ikuti amalan terbaik untuk meningkatkan kualiti kod dan penyelenggaraan.

Laravel: Pengenalan kepada Rangka Kerja Web PHPLaravel: Pengenalan kepada Rangka Kerja Web PHPApr 19, 2025 am 12:15 AM

Laravel adalah rangka kerja PHP moden yang menyediakan set alat yang berkuasa, memudahkan proses pembangunan dan meningkatkan kebolehpercayaan dan skalabilitas kod. 1) Eloquentorm memudahkan operasi pangkalan data; 2) enjin templat bilah membuat pembangunan front-end intuitif; 3) alat baris perintah artis meningkatkan kecekapan pembangunan; 4) Pengoptimuman Prestasi termasuk menggunakan mekanisme eagerloading, caching, mengikuti seni bina MVC, pemprosesan giliran dan kes ujian menulis.

Laravel: Senibina dan amalan terbaik MVCLaravel: Senibina dan amalan terbaik MVCApr 19, 2025 am 12:13 AM

Senibina MVC Laravel meningkatkan struktur dan pemeliharaan kod melalui model, pandangan, dan pengawal untuk pemisahan logik data, persembahan dan pemprosesan perniagaan. 1) Model memproses data, 2) Pandangan bertanggungjawab untuk paparan, 3) Pengawal memproses input pengguna dan logik perniagaan. Seni bina ini membolehkan pemaju memberi tumpuan kepada logik perniagaan dan mengelakkan jatuh ke dalam kod qagmire.

Laravel: Ciri -ciri utama dan kelebihan dijelaskanLaravel: Ciri -ciri utama dan kelebihan dijelaskanApr 19, 2025 am 12:12 AM

Laravel adalah rangka kerja PHP berdasarkan seni bina MVC, dengan sintaks ringkas, alat baris perintah yang kuat, operasi data yang mudah dan enjin templat fleksibel. 1. Sintaks elegan dan API yang mudah digunakan menjadikan pembangunan cepat dan mudah digunakan. 2. Alat baris perintah artisan memudahkan penjanaan kod dan pengurusan pangkalan data. 3.eloquentorm menjadikan operasi data intuitif dan mudah. 4. Enjin templat bilah menyokong logik paparan lanjutan.

Membina backend dengan Laravel: PanduanMembina backend dengan Laravel: PanduanApr 19, 2025 am 12:02 AM

Laravel sesuai untuk membina perkhidmatan backend kerana ia menyediakan sintaks elegan, fungsi yang kaya dan sokongan masyarakat yang kuat. 1) Laravel adalah berdasarkan seni bina MVC, memudahkan proses pembangunan. 2) Ia mengandungi eloquentorm, mengoptimumkan operasi pangkalan data. 3) Ekosistem Laravel menyediakan alat seperti sistem tukang, bilah dan penghalaan untuk meningkatkan kecekapan pembangunan.

Perkongsian Kemahiran Kerangka LaravelPerkongsian Kemahiran Kerangka LaravelApr 18, 2025 pm 01:12 PM

Dalam era kemajuan teknologi yang berterusan, menguasai kerangka lanjutan adalah penting untuk pengaturcara moden. Artikel ini akan membantu anda meningkatkan kemahiran pembangunan anda dengan berkongsi teknik yang kurang dikenali dalam rangka kerja Laravel. Dikenali dengan sintaks yang elegan dan pelbagai ciri, artikel ini akan menggali ciri -ciri yang kuat dan memberikan tips dan cara praktikal untuk membantu anda membuat aplikasi web yang cekap dan boleh dipelihara.

Perbezaan antara Laravel dan ThinkPhpPerbezaan antara Laravel dan ThinkPhpApr 18, 2025 pm 01:09 PM

Laravel dan ThinkPHP adalah kerangka PHP yang popular dan mempunyai kelebihan dan kekurangan mereka sendiri dalam pembangunan. Artikel ini akan membandingkan kedua -dua kedalaman, menonjolkan seni bina, ciri, dan perbezaan prestasi mereka untuk membantu pemaju membuat pilihan yang tepat berdasarkan keperluan projek khusus mereka.

Senarai Fungsi Login Pengguna LaravelSenarai Fungsi Login Pengguna LaravelApr 18, 2025 pm 01:06 PM

Membina keupayaan log masuk pengguna di Laravel adalah tugas penting dan artikel ini akan memberikan gambaran keseluruhan yang menyeluruh yang meliputi setiap langkah kritikal dari pendaftaran pengguna untuk log masuk pengesahan. Kami akan menyelam ke dalam kuasa keupayaan pengesahan terbina dalam Laravel dan membimbing anda melalui penyesuaian dan memperluaskan proses log masuk untuk memenuhi keperluan tertentu. Dengan mengikuti arahan langkah demi langkah ini, anda boleh membuat sistem log masuk yang selamat dan boleh dipercayai yang menyediakan pengalaman akses yang lancar untuk pengguna aplikasi Laravel anda.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa