Как я могу переключить опцию выбора вместо ввода? - PullRequest
0 голосов
/ 08 октября 2019

У меня есть несколько опций выбора с PHP внутри них, и мне нужно поменять это на флажки ввода. Я использую это для функции сообщения композитора, и я хочу иметь больше флажков вместо опции выбора нескольких.

Вот моя модель :

namespace App;

use Illuminate\Database\Eloquent\Model;

class Mailbox extends Model
{
    protected $table = 'mailbox';
    public $timestamps = false;
    protected $fillable = [
        'target_username', 'subject', 'message','date','sender_id','target_id'
    ];
}

Вот мой контроллер :

public function composeMessage(Request $request)
{
    if ( $user = Sentinel::check() ) {
        // return $request->all();
        $data = $this->data;
        $id = $user->id;

        foreach ($request['target_id'] as $key => $target_id) {
            $user = User::findOrfail($id);
            $target = User::findOrfail($target_id);
            $mailbox = Mailbox::create([
                'sender_id' => $id,
                'target_username' => $target->username,
                'target_id' => $target->id,
                'subject' => $request['subject'],
                'message' => $request['message'],
                'date' => strtotime(date('Y-m-d')),
            ]);

            $log = \App\Log::create([
                'user_id' => $target_id,
                'log' => $request['subject'],
                'date' => time(),
                'type' => 'message',
                'formatted_date' => date_format(date_create(date('Y-m-d')),"F dS, Y"),
                'action_user_id' => $id,
                'action_name' => $user->name,
                'action_username' => $user->username,
                'link' => url('mailbox'),
                'profile_picture' => $user->profile_picture
            ]);
        }
    }

    if ($mailbox != "") {
        flash(trans('Your message has been sent'), 'success');
    } else {
        flash(trans('Your message has been not sent'), 'warning');
    }

    return \Redirect::route('mailbox')
        ->with( 'tabname','inbox' );

    }
    else{
        return redirect('home');
    }
}

Как я могу изменить это на флажок ввода?

<section>
  <label class="input">
  <label class="select">
  <select name="role" id="role" style="width:100%">
    <option value="">Select Role</option>
    <option selected value="1" <?php if(isset($replyMessage)){if($role_id->role_id == 1){ echo "selected"; } } ?>>Individuals</option>
    <option value="100" <?php if(isset($replyMessage)){if($role_id->role_id == 100){ echo "selected"; } }?>>Organizations</option>
  </select>

<section>
  <label class="input">
    <label class="select">
      <select name="target_id[]" id="target_user" class="target_user" style="width:100%"  multiple="multiple">
        @if(!isset($replyMessage))
          @foreach($users->contact as $user)
            <option value="{{ $user->id }}" <?php if(isset($replyMessage)){ if($replyMessage == $user->id) { echo "selected"; } } ?>>{{ $user->username }} 
            </option>
          @endforeach
        @endif
      </select>
    </label>
  </label>
</section>

Вот что я попробовал:

<section>
  <label class="select">
    <select name="target_id[]" id="target_user" class="target_user" style="width:100%"  multiple="multiple">
      @if(!isset($replyMessage))
        @foreach($users->contact as $user)
          <input type="checkbox" value="{{ $user->id }}" <?php if(isset($replyMessage)){ if($replyMessage == $user->id) { echo "selected"; } } ?>>{{ $user->username }}>
        @endforeach
      @endif

  </label>
</section>

1 Ответ

1 голос
/ 08 октября 2019

Просто полностью уберите выделенный элемент и добавьте флажок ввода

<section>
  <label class="select">
     @if(!isset($replyMessage))
       @foreach($users->contact as $user)
         <input name="target_id[]" type="checkbox" value="{{ $user->id }}" <?php if(isset($replyMessage)){ if($replyMessage == $user->id) { echo "selected"; } } ?>>{{ $user->username }}
       @endforeach
     @endif
   </label>
</section> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...