Laravel - Как скрыть div из условия c из базы данных - PullRequest
0 голосов
/ 21 апреля 2020

В моем проекте Larave-5.8 я работаю над заявкой на отпуск. В частности, на дату возобновления работника.

У меня есть класс этой модели:

class HrLeaveRequest extends Model
{
    protected $table = 'hr_leave_requests';
    protected $fillable = [
              'id',
              'company_id',
              'employee_id',
              'department_id',
              'leave_type_id',
              'leave_day',
               'is_resumed',
              'commencement_date',
              'resumption_date',
              'leave_status',
              'created_by',
              'created_at',
          ];  
}

Контроллер

public function service()
{
try {     
    $userCompany = Auth::user()->company_id;
    $userId = Auth::user()->id;
    $userEmployee = Auth::user()->employee_id;
    $leaverequests = HrLeaveRequest::where('leave_status', 4)->where('employee_id', $userEmployee)->where('company_id', $userCompany)->get();
     return view('service-default')
            ->with('leaverequests', $leaverequests);
    } catch (Exception $exception) {
        Session::flash('error', 'Action failed! Please try again');
        return back();
        }         
}

По умолчанию is_resumed равно 0.

Чего я хочу добиться, так это то, что

<div class="row"> 

ниже должно быть видно только тогда, когда

is_resumed = 0

и

creation_at

меньше или равно значению resuming_date

, и как только значение is_resumed равно 1,

service-default.blade

<div class="row">
    <div class="col-md-9">
        <div class="callout callout-info">
            <center>
                <strong>
                </strong>
            </center>
        </div>                
    </div> 
    <div class="col-md-3">
<div class="panel-heading clearfix">
    <div class="container-fluid">
        <div style="margin-bottom: 10px;" class="row">
            <div class="col-lg-12">
                <a class="btn btn-info float-right"  href="">
                    Resumption Activation
                </a>
            </div>
        </div>
    </div>
</div>                  
    </div>  
</div>

Пожалуйста, что create_at (datetime) и resuming_date (тип данных date) являются датами, а is_resumed является tinyint.

Как мне этого добиться?

Спасибо

1 Ответ

0 голосов
/ 21 апреля 2020

В вашем блейд-файле вы выполняете условие, как показано ниже:

Сначала получится новый объект dateTime, а затем сравните этот объект на предмет различия.

@php
$created_at = $leaverequests->created_at;
$resumption_date = $leaverequests->resumption_date;
$datetime1 = new DateTime($created_at);
$datetime2 = new DateTime($resumption_date);
@endphp


@if($leaverequests->is_resumed == 0 && $datetime1 < $datetime2)
 show your html code
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...