>  기사  >  백엔드 개발  >  ORM 추가, 삭제, 수정 및 쿼리 예시

ORM 추가, 삭제, 수정 및 쿼리 예시

不言
不言원래의
2018-04-24 10:43:181567검색

이 문서의 내용은 ORM 추가, 삭제, 수정 및 쿼리 예제에 대한 것입니다. 이제는 모든 사람과 공유합니다. 필요한 친구는 그것을 참조할 수 있습니다.

<?php
namespace App\Http\Controllers\Admin;use App\Http\Controllers\Controller;
use App\Models\Admin\Member;use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;class MemberController extends Controller{
    public function index()
    {
        //查询所有记录
        //$result = Member::all();

        //查询一条记录
        $result = Member::find(8);        echo $result->created_at;        //查询多条记录
        //$result = Member::find([1,2,3]);

        //找不到时抛出异常(404页面)
        //$result = Member::findOrFail(55);

        //查询所有记录,where条件
        //$result = Member::where(&#39;id&#39;,&#39;>&#39;,1)->get();

        //分块查询
        /*$result = Member::where(&#39;id&#39;,&#39;>&#39;,1)->chunk(2,function($res){
            var_dump($res);
            return false;
        });*/
       // dd($result);

    }    //插入
    public function add(){
        //使用模型创建
        /*$result = new Member();
        $result -> username = &#39;1&#39;;
        $result -> password = &#39;2&#39;;
        $result -> email = &#39;3&#39;;
        $result ->save(); // 新增保存*/

        //使用create创建,需设置 $fillable
        //$result = Member::create([&#39;username&#39;=>&#39;11&#39;,&#39;password&#39;=>&#39;222&#39;,&#39;email&#39;=>&#39;333&#39;]);

        //其他创建方法

        //firstOrCreate 使用给定的列/值来查找数据库。如果在数据库找不到该模型,则会从第一个参数的属性乃至第二个参数的属性中创建一条记录插入到数据库
        //使用 username 查找用户,不存在则创建,存在的话也不报错
        /*$result = Member::firstOrCreate(
            [&#39;username&#39;=>&#39;1111&#39;],[&#39;password&#39;=>&#39;222&#39;],[&#39;email&#39;=>&#39;333&#39;]
        );*/

        //使用username 查找用户,不存在则创建实例,保存的话需要save
        /*$result = Member::firstOrNew(
            [&#39;username&#39;=>&#39;111111&#39;],[&#39;password&#39;=>&#39;222&#39;],[&#39;email&#39;=>&#39;333&#39;]
        );
        $result->save();*/

        //updateOrCreate 更新现有模型或在不存在的情况下则创建新的模型,不需要save
        /*$result = Member::updateOrCreate(
            [&#39;username&#39;=>&#39;11111112&#39;],
            [&#39;password&#39;=>&#39;2222&#39;,&#39;email&#39;=>&#39;22222&#39;]

        );*/

        //dd($result);
    }    //修改
    public function edit(){
        //通过模型更新数据
        /*$result = Member::find(14);
        $result -> password = &#39;3333333&#39;;
        $result -> save();*/

        //批量更新
        /*$result = Member::where(&#39;id&#39;,&#39;>&#39;,&#39;13&#39;)->update(
            [&#39;password&#39;=> &#39;11&#39;]
        );*/

        //dd($result);
    }    //删除
    public function delete(){
        //通过模型删除,返回布尔值
        /*$result = Member::find(14);
        $result -> delete();*/

        //通过主键删除,返回影响的行数
        //$result = Member::destroy(13);
        //删除多个
        //Member::destroy([1, 2, 3]);
        //Member::destroy(1, 2, 3);

        //通过查询删除,返回影响的行数
        //$result = Member::where(&#39;id&#39;,&#39;>&#39;,11)->delete();

        //软删除
        /*$result = Member::find(8);
        $result -> delete();*/


        dd($result);
    }
}
<?php
namespace App\Models\Admin;use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Eloquent\SoftDeletes; 
//开启模型的软删除功能
class Member extends Model{

    protected $table      = &#39;member&#39;; //与模型关联的数据表
    //指定主键
    //如果使用非递增或者非数字的主键,则必须在模型上设置 public $incrementing = false
    //如果主键不是一个整数,你应该在模型上设置 protected $keyType = string
    protected $primaryKey = &#39;id&#39;;    public    $timestamps = true;     //是否自动维护时间戳 created_at updated_at
    protected $dateFormat = &#39;U&#39;;       //模型的日期字段的存储格式
    //const CREATED_AT = &#39;creation_date&#39;;//自定义用于存储时间戳的字段名
    //const UPDATED_AT = &#39;last_update&#39;;  //自定义用于存储时间戳的字段名

    protected $fillable = [&#39;username&#39;,&#39;password&#39;]; //批量赋值 ,create 新增数据的时候需要设置 ,$guarded 为黑名单,相反

    use SoftDeletes;//使用软删除功能
    protected $dates = [&#39;deleted_at&#39;]; //软删除字段}

관련 권장 사항:

Django의 ORM 기반 데이터베이스 운영 방식

위 내용은 ORM 추가, 삭제, 수정 및 쿼리 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.