Я пытаюсь сделать запрос, который говорит что-то вроде, если существует 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>
При правильном определении моделей Eloquent и отношений между ними вы сможете получать все объекты класса ** personal_info **, которые не имеют связанных нанимать запись с:
$personalInfos = personal_info::whereDoesntHave('hires')->get();
Других решений пока нет …