实际上我尝试将一些用户从excel文件(.xlsx)迁移到我的应用程序中登录。但代码不起作用。 奇怪的是,它实现的相同代码是从excel文件(.xlsx)迁移工资单而这个工作。我尝试了很多选项,更改了一些代码,但它不起作用。 也许我会让一些错误消失而其他人可以看到它。我很感激你的帮助。
编辑:我的routes.php中有一个执行迁移的代码,但是从数据库中的表开始,这个代码可以运行
我的routes.php
Route::get("user_mig", function()
{
$contr = temporalestla\ContractUser::all();
foreach ($contr as $value)
{
$psw = \Hash::make($value->id_employee);
$user = new temporalestla\User
([
"full_name"=>$value->name_used,
"user" => $value->id_employee,
"password" => $psw,
"perfil" => 1
]);
$user->save();
}
return "Proceso finalizado";
});
来自用户的我的ImportController.php
public function cargar_datos_users(Request $request)
{
$file= $request->file('file');
$original_name=$file->getClientOriginalName();
$r1=Storage::disk('files')->put($original_name, \File::get($file) );
$route= storage_path('files') ."/". $original_name;
if($r1)
{
Excel::selectSheetsByIndex(0)->load($route, function($sheet)
{
$sheet->each(function($row)
{
$user = new User;
$user->full_name = $row->nombreempleado;
$user->user = $row->empleado;
$user->password = bcrypt($row->empleado);
$perfil = 1;
$user->perfil = $perfil;
$user->save();
});
});
return view("administrator.contracts.adminpayrolls")->with("msj","Usuarios Cargados Correctamente");
}
else
{
return view("administrator.contracts.adminpayrolls")->with("msj","Error al subir el archivo");
}
}
我的app / User.php
class User extends Model implements AuthenticatableContract, AuthorizableContract, CanResetPasswordContract
{
use Authenticatable, Authorizable, CanResetPassword;
protected $table = 'users';
protected $fillable = ['full_name', 'user', 'password','perfil'];
protected $hidden = ['password', 'remember_token'];
}
ajax脚本位于view.blade.php
中<script type="text/javascript">
$(document).on("submit",".formarchivo",function(e)
{
e.preventDefault();
var formu=$(this);
var nombreform=$(this).attr("id");
if(nombreform=="f_cargar_datos_users" ){ var miurl="cargar_datos_users"; var divresul="notificacion_resul_fcdu"}
var formData = new FormData($("#"+nombreform+"")[0]);
$.ajax
({
url: miurl,
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false,
beforeSend: function()
{
$("#"+divresul+"").html($("#cargador_empresa").html());
},
success: function(data)
{
alert("Usuarios cargados correctamente");
location.reload(true);
},
error: function(data)
{
alert("Error al subir usuarios. intente nuevamente");
location.reload(true);
}
});
});
</script>
@endsection
从excel迁移的插件是http://www.maatwebsite.nl/laravel-excel/docs 正如我所说,相同的结构在工资单迁移上工作,但不适用于用户迁移,任何评论都会受到赞赏。