laravel 5.6 프레임 워 크 조작 데이터 curd 쓰기(조회 구축 기)인 스 턴 스 분석

본 고의 실례 는 laravel 5.6 프레임 워 크 조작 데이터 curd 쓰기(조회 구축 기)를 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
laravel 5.6 데이터베이스 조작-조회 구축 기

<?php
//laravel5.6    demo  
namespace App\Http\Controllers;//     App     
use Illuminate\Support\Facades\DB;//  DB     
use App\Http\Controllers\Controller;//       
class UserController extends Controller
{
 /**
  *          .
  *
  * @return Response
  */
 public function index()
 {
  //DB              :select( ),update(  ),insert(  ),delete(  ),statement(  )
  //     ,        
  //  sql  
  $data = DB::select('select * from users where id = :id and name = :name ',[':id' => 1,':name' =>'  ']);
  //   
  //get()           (      )
  $data = DB::table('users')->get();
  //first()           (      )
  //where()           
  $data = DB::table('users')->where('id','name','3','  ')->first();
  //select()              
  $data = DB::table('users')->select('id','name', 'email')->get();
  //value()            ,             :
  $data = DB::table('users')->where('name','  ')->value('email');
  //pluck()            
  $data = DB::table('users')->pluck('name');
  //count()     
  $data = DB::table('users')->count();
  //exists()                   
  $data=DB::table('users')->where('id', 1)->exists();
  //join()       
  $data = DB::table('users')
   ->join('ceshi', 'users.id', '=', 'ceshi.id')
   ->select('users.*', 'ceshi.name')
   ->get();
  //leftJoin()        
  $data = DB::table('users')
   ->leftJoin('ceshi', 'users.id', '=', 'ceshi.id')
   ->select('users.*', 'ceshi.name')
   ->get();
  //where()     :( )     ,( )      ,( )          
  $data = DB::table('users')
   ->where('id', '>=', 1)
   ->where('name', 'like', '  %')
   ->get();
  //       where   ,   where        
  $data = DB::table('users')
   ->where([
    ['id', '>=', 1],
    ['name', 'like', '  %']
   ])
   ->get();
  //whereBetween()               
  $data = DB::table('users')
   ->whereBetween('id', [1, 3])->get();
  //whereIn                  :
  $data = DB::table('users')
   ->whereIn('id', [1, 2, 3])
   ->get();
  //orderBy()     
  $data = DB::table('users')
   ->orderBy('id', 'desc')
   ->get();
  //insert()            
  //insertGetId()            ID 
  $data=DB::table('users')->insert(
   [
    'name'=>'  ',
    'email' => 'ceshi.com',
    'password' => 'ceshi'
   ]
  );
  //update()       
  $data =DB::table('users')
   ->where('id', 1)
   ->update(['name' => '  ']);
  //delete()       
  $data=DB::table('users')->where('id', '>', 10)->delete();
  //paginate()            
  //  :     groupBy         Laravel    
  $data = DB::table('users')->paginate(2);
  //               
  $getName = $GET['name']?:'';
  $data = DB::table('users')
    ->select('id','name','age')
    ->where('name', 'like', $getName.'%')
    ->paginate(2);
  //         
  return $this->view('index',['data'=>$data,'namePage'=>$getName]);
  //       
  //appends                   ;    &name=$namePage        .
  {{ $data->appends(['name' => $namePage])->links() }}
  //simplePaginate()             “   ” “   ”  
  $data = DB::table('users')->simplePaginate(2);
  //         
  return $this->view('index',['data'=>$data]);
  //         
  <div class="container">
  @foreach ($users as $user)
   {{ $user->name }}
  @endforeach
  </div>
  {{ $data->links() }}
  //      
  $page = 2;
  $pageSize = 1;
  $offset = ($page - 1) * $pageSize;
  $result = DB::table('picasa')
   ->where('title', 'like', '%'.$title.'%')
   ->offset($offset)
   ->limit($pageSize)
   ->get();
  //        
  return $this->view('index', ['result' => $result]);
 }
}

groupBy  조회 결 과 를 그룹 으로 나 누 는 데 문제 가 발생 했 습 니 다.
select 와 groupby 의 목록 이 일치 하지 않 을 때 오류 가 발생 합 니 다.mysql 은 5.7 이후 그룹 by 의 엄격 한 모드 를 기본적으로 시작 합 니 다.
해결 방법:config/database.php 를 찾 아 my sql 아래'strict'=>true 를 false 로 바 꿉 니 다.[수정 하지 말 것 을 건의 하 다.정확 한 조작 문법 을 쓰다.
예 를 들 면:

$booked = DB::table('booked_user')
 ->select('game_id', DB::raw('count(*) as total'))
 ->groupBy('game_id')
 ->get();

sql 조회 로그 열기

DB::connection()->enableQueryLog();//  QueryLog
$data = DB::table('users')->select('id','name', 'email')->get();//  sql
dump(DB::getQueryLog());//sql       

로그 정보 쓰기
8 가지 로그 단계:emergency,alert,critical,error,warning,notice,info 와 debug
기본 로그 저장 위치:/storage/logs/laravel.log
인용

Log::emergency(string $message, array $context = []);
Log::alert(string $message, array $context = []);
Log::critical(string $message, array $context = []);
Log::error(string $message, array $context = []);
Log::warning(string $message, array $context = []);
Log::notice(string $message, array $context = []);
Log::info(string $message, array $context = []);
Log::debug(string $message, array $context = []);

laravel 5.6 조작 데이터 ORM
Laravel 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 는 Laravel 프레임 워 크 를 바탕 으로 하 는 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기