> 백엔드 개발 > PHP 문제 > PHP 필드의 사용법은 무엇입니까

PHP 필드의 사용법은 무엇입니까

藏色散人
풀어 주다: 2023-03-12 16:02:01
원래의
2306명이 탐색했습니다.

PHP 필드의 사용법은 다음과 같습니다. 1. 쿼리 작업에 "$Model->field('id,title,content')->select();"를 사용합니다. 2. "$Model-> 필드를 사용합니다. (array(...))" 메서드는 특정 필드에 대한 별칭 등을 정의합니다.

PHP 필드의 사용법은 무엇입니까

이 글의 운영 환경: Windows 7 시스템, thinkphp v5.1 버전, Dell G3 컴퓨터

php에서 필드 사용

ThinkPHP의 일관된 작동 방식에는 다양한 사용 기술이 있습니다. 필드 메서드의 경우 필드 메서드는 주로 아래에 설명된 대로 반환되거나 연산될 필드를 식별하는 것이 목적입니다.

1. 쿼리에 사용됩니다

쿼리 작업에서는 필드 메서드가 가장 자주 사용됩니다.

$Model->field('id,title,content')->select();
로그인 후 복사

여기서 필드 메서드는 쿼리 결과 집합의 ID, 제목, 콘텐츠를 포함한 세 가지 필드의 값을 지정하는 데 사용됩니다. 실행된 SQL은 다음과 같습니다.

SELECT id,title,content FROM table
로그인 후 복사

물론 select 메소드 외에도 find 등을 포함한 모든 쿼리 메소드에서 field 메소드를 사용할 수 있습니다. 여기서는 예시로만 사용합니다.

위의 예는 배열로 대체할 수도 있습니다: [-more-]

$Model->field(array('id','title','content'))->select();
로그인 후 복사

최종 실행된 SQL은 위와 동일합니다.

^_^ 배열의 사용법이 너무 복잡한 것 같지만 아직 결론을 내리지 마세요. 나중에 배열을 사용하는 이점을 이해하게 될 것입니다.
배열 모드의 정의는 특정 필드에 대한 별칭을 정의할 수 있습니다. 예:

  1. $Model->field(array('id','title'=>' name ','content'))->select();

실행된 SQL은 다음과 같습니다.

  1. SELECT id ,title as name,content FROM table

직접 사용하려는 경우:

  1. $Model->field ( ' id,title as name,content')->select();

은 잘못된 결과를 얻을 수 있습니다.
좀 더 복잡한 필드 요구 사항의 경우 배열의 장점이 더욱 분명해집니다. 예를 들면 다음과 같습니다.

  1. $Model->field(array('id','concat(name,' -',id)'=>'truename','LEFT(title,7)'=>'sub_title'))->select(); 실행 된 SQL은 다음과 같습니다. )assub_title FROM table

  1. 필드에서 SQL 함수를 사용해야 할 때 배열 방법이 좋은 솔루션이 될 수 있습니다. 필드 방식의 효과는 이것 뿐인가요? 그렇게 생각하신다면 ThinkPHP의 필드 방식을 과소평가하고 있는 것입니다. ThinkPHP는 여러분이 생각하는 것보다 훨씬 더 세심하게 고려합니다^_^. 먼저 다음 상황을 살펴보겠습니다. 필드가 많고 요구 사항이 두 개 있는 경우 첫 번째 요구 사항은 필드 메서드를 호출할 수 없기 때문에 매우 간단할 수 있습니다. 또는 빈 필드 방법을 직접 사용할 수도 있습니다. 실제로는 그렇습니다.
    1. $Model->select();
    2. $Model->select() $Model-> 필드
    3. (
    4. '*')->select();위의 세 가지 사용법은 동일하며 SQL 실행과 동일합니다.
    SELECT

    *

    FROM table
    1. 그러나 이것은 내가 말한 것이 아닙니다. Get all fields, 모든 필드를 명시적으로 호출하기를 바랍니다(고성능 요구 사항이 있는 시스템의 경우 이 요구 사항은 과도하지 않으며 적어도 비교적 좋은 습관입니다). 그렇다면 여전히 매우 간단합니다. 다음 사용법을 사용하면 예상한 효과를 얻을 수 있습니다.

    $Model->

    field
      (
    1. true)-> ;select(); fied(true)는 데이터 테이블에 100개의 필드가 있더라도 데이터 테이블의 모든 필드 목록을 명시적으로 가져옵니다. 두 번째 요구 사항은 콘텐츠 필드를 제외한 모든 필드 값을 가져오고 싶다는 것입니다(텍스트 필드의 값은 메모리를 많이 소모합니다). 예를 들어 다음 방법과 같이 필드 메서드의 제외 기능을 사용할 수 있습니다. 위의 기능을 달성할 수 있습니다:

    $Model
    ->

    field
      (
    1. 'content',true)->select(); 더 많은 항목을 제외하려면 다음과 같은 필드도 가능합니다.
    $Model

    ->

    field
      (
    1. 'user_id,content',true)->select(); //또는
    2. $Model->field
    3. (
    4. array('user_id','content' 사용) ),사실) ->select ();2. 쿼리 작업 외에도 필드 메소드에는 매우 중요한 보안 기능 필드가 있습니다. 합법성 감지(참고: 이 기능은 버전 3.1부터 지원됩니다.) create 메소드와 결합된 field 메소드를 양식 제출 처리 방법에 사용하면

    $Model

    ->field(

    'title,email, content '
      )->
    1. create();은 사용자가 변경하거나 추가하는 방법에 상관없이 양식의 유일한 법적 필드는 제목, 이메일 및 콘텐츠 필드임을 의미합니다. 브라우저에서는 제출 필드가 직접 차단됩니다. 사용자 제출에 의해 결정되기를 원하지 않는 다른 모든 필드가 있으므로 자동 완성 기능을 통해 작성할 추가 필드를 정의할 수 있습니다. 요약
    2. 필드 메소드의 사용법을 통해 우리는 소위 작은 메소드이지만 큰 사용법을 이해할 수 있어야 합니다. 물론 ThinkPHP가 여러분의 개발에 더 많은 편리함과 놀라움을 선사할 수 있기를 바랍니다. 귀하의 사용량과 경험을 공유해 주세요!

    추천 학습: "
    PHP 비디오 튜토리얼

    "

위 내용은 PHP 필드의 사용법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿