I am new to laravel i have to store cv_id and job_id and user_id in a table in the DB. So This is my Schema cv
Schema::create('cv', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->string ('FName') ;
$table->date('PrefJobEnd');
$table->integer('WorkExp');
$table->string('fileCV');
$table->timestamps();
});
}
User Schema
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->boolean('status')->default(1);
$table->string('password');
$table->rememberToken();
$table->timestamps();
Jobs Schema:
Schema::create('jobs', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->string('logo');
$table->integer('WorkExp');
$table->string('Company');
$table->string('salary');
$table->timestamps();
I create a new table to collect the ids of each of them called Job application table:
Schema::create('job_applications', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id');
$table->unsignedBigInteger('cv_id');
$table->unsignedBigInteger('job_id');
$table->timestamps();
});
Then I specified some relationships in models
User model:
public function cv()
{
return $this->hasOne('App\Models\cv');
}
public function JobApplication()
{
return $this->hasMany('App\Models\JobApplication');
}
JobApplication Model;
public function cv()
{
return $this->belongsTo(cv::class, 'user_id');
}
public function Job()
{
return $this->belongsTo(Job::class, 'Job_id');
}
cv model:
public function Job()
{
return $this->hasMany(Job::class, 'user_id');
}
public function User()
{
return $this->hasMany(USer::class, 'user_id');
}
}
job model:
protected $primarykey ='id';
protected $table ='jobs';
//user post piviot for savedJobs
public function User()
{
return $this->hasMany('App\Models\User');
}
public function deadlineTimestamp()
{
// return Carbon::parse($this->deadline)->timestamp;
}
public function cv()
{
return $this->belongsTo(cv::class, 'user_id');
}
I am trying to store ids of user, job and cv with following code in the controller; The error
Creating default object from empty value
public function applyJob(Request $request,$id)
{
$application= new JobApplication;
$jobs = Job::find($request->job_id);
$jobs->job_id = $id;
$users = User::find($request->user);
$users->user_id = $id;
$cv=cv::all( );
$cv =cv::where ($users.'user_id','=',$cv.'user_id');
$cv->cv_id = $id;
// dd($user);
$ratings->save();
// return redirect('/')->with('success','well vvvvdscs');
also i tried this one the error was "SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'cv_id' cannot be null (SQL: insert into job_applications
(user_id
, job_id
, cv_id
, updated_at
, created_at
) values (4, 1, ?, 2022-03-13 10:46:44, 2022-03-13 10:46:44))"
// // $jobs = Job::find($request->job_id);
// // $cv = cv::find($request->cv_id);
// // $user = User::find(auth()->user()->id);
// // $application = new JobApplication;
// // $application->user_id = auth()->user()->id;
// // $application->job_id = $request->job_id;
// // $application->cv_id = $request->cv_id;
// // $application->save();
// // dd($application);
}
So any one can tell me a way or what is wrong in my code?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire