Как сделать запрос на «где данные не существуют»? в Ларавеле?

Я пытаюсь сделать запрос, который говорит что-то вроде, если существует hire_status, не распечатывайте эти значения, а только распечатывайте те с hire_status, у которых еще нет значения. Но я не знаю, как это сделать. Я сделал что-то подобное сейчас, кто-то может мне помочь? Есть другая функция, чтобы сделать это?

Что я хочу сделать, так это внутри файла представления, когда пользователь вставил свои данные в базу данных, его имя должно исчезнуть внутри файла представления, чтобы избежать двойного щелчка по имени человека. Но я не знаю, как это сделать

Вот код:

     public function getHire(){
$data['data'] = DB::table('personal_infos')->join('hires', 'personal_infos.id', '=', 'hires.user_id')->select('personal_infos.id','personal_infos.Name','personal_infos.deleted_at','hires.hire_status')->where('deleted_at',NULL)->whereNull('hires.hire_status')->get()->sortByDesc('created_at');
if(count($data)>0){
return view('hire',$data);
}else{
return view('hire');
}

Личные данные моделей:

class personal_info extends Eloquent
{
use SoftDeletes;
protected $fillable = array('Email', 'Name');
protected $table = 'personal_infos';
protected $primaryKey = 'id';
protected $dates = ['deleted_at'];
public function hires() {
return $this->hasOne('App\hire','user_id');
}
}

модель проката:

   protected $fillable = array('hire_status','user_id');

public function personal_infos() {
return $this->belongsTo('App\personal_info', 'user_id', 'id');
}

hire.blade.php

   <table class="table table-bordered">
<tr>
<th><strong><big>Name: </big></strong></th>
<th><strong><big>Hire Action: </big></strong></th>
</tr>
<td>
<tr>
@foreach($data as $value)
<tr>
<th><a href="{{route('user.show',['id'=>$value->id])}}">{{$value->Name}}</a></th>
<th>
<form class="form-horizontal" method="post" action="{{ url('/hire_status/'.$value->id) }}">
{{ csrf_field() }}
<input type="hidden" name="user_id" value="{{$value->id}}">
<input type="radio" name="hire_status" value="Yes"> Yes<br>
<input type="radio" name="hire_status" value="No"> No<br>

<div class="form-group">
<div class="col-md-6-offset-2">
<input type="submit" class="btn btn-primary" value="Save">
</div>
</div>

</form>
</th>
</tr>
@endforeach
</tr>
</tr>
</table>

0

Решение

При правильном определении моделей Eloquent и отношений между ними вы сможете получать все объекты класса ** personal_info **, которые не имеют связанных нанимать запись с:

$personalInfos = personal_info::whereDoesntHave('hires')->get();
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector