Heim  >  Artikel  >  Backend-Entwicklung  >  ORM-Beispiele zum Hinzufügen, Löschen, Ändern und Abfragen

ORM-Beispiele zum Hinzufügen, Löschen, Ändern und Abfragen

不言
不言Original
2018-04-24 10:43:181567Durchsuche

Der Inhalt dieses Artikels befasst sich mit ORM-Hinzufügen, -Löschen, -Änderungen und -Abfragebeispielen. Jetzt kann ich ihn mit allen teilen, die ihn benötigen

<?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;]; //软删除字段}

Verwandte Empfehlungen:

Detaillierte Erläuterung der Methode von Django zum Betrieb einer auf ORM basierenden Datenbank

Das obige ist der detaillierte Inhalt vonORM-Beispiele zum Hinzufügen, Löschen, Ändern und Abfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn