Laravel model常用方法
增
Classes::create($request->all());
删
Classes::findOrFail($id)->delete();
关联删除
classes.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Classes extends Model
{
//
protected $fillable = [
'name','department','open',
];
public function courses(){
return $this->hasMany('App\Courses');
}
}
Courses.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Courses extends Model
{
//
public function classes(){
return $this->belongsTo('App\Classes');
}
}
之后执行
Classes::findOrFail($id)->courses()->delete();//先删除关联之下的课程字段
Classes::findOrFail($id)->delete();//然后删除班级
改
$classes=Classes::FindOrFail($id);
$classes->name=$request->name;
$classes->department=$request->department;
$classes->save();
查
$classes=Classes::FindOrFail($id);
//个人推荐使用FindOrFail,因为在查询是做关联查询,如果使用findOrFail会报404,而使用find会报空指针异常
//或
$classes=Classes::find($id);
//有时你希望在未找到模型时抛出异常。这在控制器和路由中非常有用。 findOrFail 和 firstOrFail 方法会检索查询的第一个结果,如果未找到,将抛出 Illuminate\Database\Eloquent\ModelNotFoundException 异常:。
如果没有捕获异常,则会自动返回 404 响应给用户。也就是说,使用这些方法时,没有必要再写个检查来返回 404 响应:
//查询第一条数据
$open=Classes::where('open',1)->first();
关联查询
$classes=Classes::find($id);//先获取对象的实例
$courses=$classes->courses()->get();//查询对应的实例
https://www.cnblogs.com/jiayoubobo/p/9565332.html
相关阅读
laravel框架中的Model操作数据库 , 相比DB类有什么明显的优越性吗?