参考链接
https://laravel-china.org/docs/laravel/5.6/eloquent/1403
orm中使用查询构造器
//orm
public function test4(){
//查询构造器
// $res = PhotoModel::get();
// dd($res);
// $res = PhotoModel::where('id','>','44')->orderBy('age','desc')->first();
// dd($res);
// PhotoModel::chunk(2,function($res){
// echo '<pre>';
// var_dump($res);
// echo '</pre>';
// });
//聚合函数
$res = PhotoModel::count();
var_dump($res);
$res = PhotoModel::max('age');
var_dump($res);
$res = PhotoModel::min('age');
var_dump($res);
$res = PhotoModel::sum('age');
var_dump($res);
$res = PhotoModel::avg('age');
var_dump($res);
}
在model里面
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class PhotoModel extends Model
{
protected $table = 'photo';//指定表名
protected $primaryKey = 'id';//指定id
public $timestamps = true;//是否自动添加created_at updated_at
//指定允许批量赋值的字段
// protected $fillable = ['src,age,updated_at,created_at'];//允许用create方法新增数据 字段
protected $guarded = [];//不允许
}
public function test5(){
使用模型新增数据
$photoModel = new PhotoModel();
$photoModel->src='asd';
$photoModel->age=55;
$res = $photoModel->save();//Boolean值
var_dump($res);
$res = $photoModel::first();
echo $res->created_at;
//使用模型的create方法新增数据
$res = PhotoModel::create(['src'=>'安达市多','age'=>56]);
var_dump($res);
//firstOrCreate()以属性查找 如果有返回 如果没有新增
$res = PhotoModel::firstOrCreate(['src'=>'qwe12','age'=>56]);
var_dump($res);
//https://laravel-china.org/docs/laravel/5.6/eloquent/1403#eloquent-model-conventions
//firstOrCreate/ firstOrNew 区别 后者要自己调用
}
使用orm修改数据
public function test6(){
//orm修改
$res = PhotoModel::find(89);
$res->src = 'wang';
$bool = $res->save();
var_dump($bool);
$res = PhotoModel::where('id','>',90)->update(
['age'=>55]
);//更新行数 updated_at会自动更新
var_dump($res);
//根据模型删除数据
$res = PhotoModel::find(90);
$bool = $res->delete();
var_dump($bool);
//通过主键删除
$res = PhotoModel::destroy(91,92);//删除行数
//$res = PhotoModel::destroy([93,94]);//删除行数 参数是数组也行
var_dump($res);
//删除指定条件数据
$res = PhotoModel::where('id','>','88')->delete();
var_dump($res);
}