Laravel - Как отключить отправку, если какое-либо поле заголовка равно нулю - PullRequest
0 голосов
/ 08 мая 2020

В моем Laravel -5.8 у меня есть модель под названием Goal:

protected $fillable = [
              'id',
              'weighted_score',
              'title',
              'start_date',
              'end_date',
          ];

Для модели у меня есть контроллер:

Index Controller

public function index()
{
    $userEmployee = Auth::user()->employee_id;
    $goals = Goal::where('employee_id', $userEmployee)->get();

    return view('goals.index')->with(['goals', $goals);
}

Этот контроллер отображает это представление

вид

<div class="card-body">
    <div class="table-responsive">
        <table class=" table table-bordered table-striped table-hover datatable">
            <thead>
                <tr>
                    <th width="8%">
                        Type
                    </th>
                    <th width="11%">
                        Start Date - End Date
                    </th>
                    <th>
                        Weight(%)
                    </th>  
                    <th>
                        &nbsp;
                    </th>
                </tr>
            </thead>
            <tbody>
                @foreach($goals as $key => $goal)
                        <td>
                            {{$goal->title ?? '' }}
                        </td>                             
                        <td>                               
                            {{Carbon\Carbon::parse($goal->start_date)->format('M d, Y') ?? '' }} - {{Carbon\Carbon::parse($goal->end_date)->format('M d, Y') ?? '' }}
                        </td>  
                        <td>
                            {{$goal->weighted_score ?? '' }}
                        </td>                            
                </tr>
                @endforeach 
            </tbody>
        </table>
    </div>
    <div class="row no-print">
        <div class="col-12">
                <a href ="{{ route('post.publish.all')}}" class="btn btn-primary float-left"><i class="fas fa-arrow-right"></i> Submit</a>               
        </div>       
    </div>             

    </div>

маршруты:

Route::resource('goals', 'GoalsController');  

Route::get('post/publish_all_posts', 'GoalsController@publish_all_posts')->name('post.publish.all');

Функция контроллера для publish_all_posts ()

public function publish_all_posts(){

    $unapproved_post = Goal::where('employee_id', $userEmployee)
            ->update([
                'is_approved' => 1                   
                ]);

}

Для этого отображаются все цели для данного конкретного сотрудника:

$ goal = Goal :: where ('employee_id', $ userEmployee) -> get ();

Я хочу, чтобы приложение включало только это:

        <div class="col-12">
                <a href ="{{ route('post.publish.all')}}" class="btn btn-primary float-left"><i class="fas fa-arrow-right"></i> Submit</a>               
        </div>       

только тогда, когда нет значения NULL в поле с названием

in

$ goal = Goal :: where ('employee_id', $ userEmployee) -> get ();

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

Спасибо

1 Ответ

1 голос
/ 08 мая 2020

Вы можете попробовать что-то вроде этого.

@if(! $goals->pluck('title')->contains(null))
<div class="col-12">
  <a href ="{{ route('post.publish.all')}}" class="btn btn-primary float-left"><i class="fas fa-arrow-right"></i> Submit</a>               
</div>
@endif 

когда заголовки целей не содержат null, показать ссылку с использованием методов laravel сбора. документация

Надеюсь, это вам поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...