2016-05-25 2 views
0

Я использую Laravel 5.2, я хочу изменить состояние нескольких статей, вид, как это:Laravel 5.2: Как изменить статус нескольких статей?

вида:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 
    <meta http-equiv="x-ua-compatible" content="ie=edge"> 
    <link href="//cdn.bootcss.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet"> 
    <link href="//cdn.bootcss.com/tether/1.3.2/css/tether.min.css" rel="stylesheet"> 
</head> 
<body> 
<div class="container"> 
    <div class="card"> 
     <h3 class="card-header">Unpublished Articles</h3> 
     <div class="card-block"> 
      <div class="row"> 
       <div class="col-sm-4"> 
       </div> 
       <div class="col-sm-4"> 
        Title 
       </div> 
       <div class="col-sm-4"> 
        Status 
       </div> 
      </div> 
      <form class="form-horizontal" role="form" method="POST" 
        action="{{ url('articles/publish') }}"> 
       {!! csrf_field() !!} 
       <div class="row"> 
        <div class="col-sm-4"> 
         <label class="c-input c-checkbox"> 
          <input type="checkbox" name="article[]" value="1"> 
          <span class="c-indicator"></span> 
         </label> 
        </div> 
        <div class="col-sm-4"> 
         article1 
        </div> 
        <div class="col-sm-4"> 
         unpublished 
        </div> 
       </div> 
       <div class="row"> 
        <div class="col-sm-4"> 
         <label class="c-input c-checkbox"> 
          <input type="checkbox" name="article[]" value="2"> 
          <span class="c-indicator"></span> 
         </label> 
        </div> 
        <div class="col-sm-4"> 
         article2 
        </div> 
        <div class="col-sm-4"> 
         unpublished 
        </div> 
       </div> 
       <fieldset class="form-group"> 
        <button type="submit" class="btn btn-primary">Publish</button> 
       </fieldset> 
      </form> 
     </div> 
    </div> 
</div> 
<script src="//cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script> 
<script src="//cdn.bootcss.com/tether/1.3.2/js/tether.min.js"></script> 
<script src="//cdn.bootcss.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js"></script> 
</body> 
</html> 

значение флажка является артикль id.

статьи:

id title  content  status  created_at updated_at 
1 article1 ...   0   ...   ... 
2 article2 ...   0   ...   ... 
3 article3 ...   1   ...   ... 

Есть неопубликованные статьи в таблице, статус статус 0, и опубликованных статей является 1,

Я хочу, чтобы изменить статус при подаче выбранная статья (ы), как написать метод publish?

public function publish(Request $request) 
{ 

} 

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

ответ

1

Вы могли бы попробовать что-то же просто, как:

Article::whereIn('id', $request->input('article'))->update(['published' => 1]); 
+0

я думаю, где второй параметр должен быть массивом, не уверен, что каким-либо образом, если эта работа доцент попробовать '$ request-> вход («статьи») - > ToArray() ' –

Смежные вопросы