Laravel(8)[Eloquent ORM新增数据、自定义时间戳及批量赋值的使用]

时间:2024-04-01 12:43:15

前面讲了ORM的删除、修改、查询,那为什么新增,自定义时间戳和赋值要放到这来讲呢?(我不会告诉你们我是觉得这个看的比较烦躁的)因为我感觉,难的要放在后面才有意思(手动滑稽)

好了,这篇文章我们主要掌握以下几个知识点

  1. 通过模型新增数据(涉及到自定义时间戳)
  2. 使用模型的Create方法新增数据(涉及到批量赋值)

NO.1通过模型新增数据

我的数据库和上篇文章结尾的数据库样式是一致的,那么我要想在这里面输入一个名字叫做ChenChai,年龄是为17岁。要如何操作呢?
代码如下:

namespace App\Http\Controllers;

use App\Student;

use Illuminate\Support\Facades\DB;

class StudentController extends Controller
{
	public function orm2()
	{
		$student = new Student();
		$student->name='ChenChai';
		$student->age=17;
		$student->save();
	}
}


好,效果如下:
Laravel(8)[Eloquent ORM新增数据、自定义时间戳及批量赋值的使用]
你会发现,这里新增的数据有修改时间和新增时间,那么如果你不想用,手动删除的话,则要去我们最先创造的模型文件里去设置一个属性即可

如下:
Laravel(8)[Eloquent ORM新增数据、自定义时间戳及批量赋值的使用]
然后你再新增,就不会出现了
Laravel(8)[Eloquent ORM新增数据、自定义时间戳及批量赋值的使用]
如果你想获取一个标准的时间,只需要在模型文件下增加一个方法,然后在新增数据那输出即可,如下:
Laravel(8)[Eloquent ORM新增数据、自定义时间戳及批量赋值的使用]
然后我们find10
Laravel(8)[Eloquent ORM新增数据、自定义时间戳及批量赋值的使用]
Laravel(8)[Eloquent ORM新增数据、自定义时间戳及批量赋值的使用]
结果如下:
Laravel(8)[Eloquent ORM新增数据、自定义时间戳及批量赋值的使用]

我这里有个方法没有打上去,所以时间是1970年1月1日,具体什么操作步骤不详细讲述,可百度

NO.2模型Create新增

代码如下:

namespace App\Http\Controllers;

use App\Student;

use Illuminate\Support\Facades\DB;

class StudentController extends Controller
{
	public function orm2()
	{
		$student = Student::create([
			['name'=>'NanQiao','age'=>19]
		]);
		dd($student);
	}
}

然后他肯定是会报错的,为什么?因为他不允许批量增加。那我们要怎么做呢?
只需要在模型文件里增加一个属性
如下:

protected $fillable = ['name','age'];//这里是可以批量赋值的属性

然后结果如下:
Laravel(8)[Eloquent ORM新增数据、自定义时间戳及批量赋值的使用]