我想创建一个动态模型。
实际上,我有这个播种机:
class TestSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('tests')->insert([
'name_test' => $name_test
]);
}
}
而且我需要从控制器发送参数:
public function addTest(Request $request)
{
$request->validate([
'name_test' => 'required|max:255'
], [
'name_test.required' => 'Es necesario rellenar el campo de nombre',
'name_test.max' => 'El nombre del test debe ser máxim de 255 catacteres',
]);
$input = $request->all();
//$test = Test::create($input);
return back()->with('success', 'El test se ha creado correctamente.');
}
但是,我不知道该怎么做。
任何想法?
您可以直接调用TestSeeder类:
$test = new TestSeeder;
$test->run($request->name_test);
public function run($name_test)
{
DB::table('tests')->insert([
'name_test' => $name_test
]);
}
但是,例如,在运行测试或要在本地环境中定期刷新数据库时,Laravel中的seeder类用于设置初始数据。您最好只是直接在控制器中运行插入-测试时没有错!