2017-02-10 18 views
1

У меня есть проблема с моей функцией, которая сохраняет данные в базу данных,Laravel - данные хранятся в переменной, но становится нулевой в базе данных

В основном пользователь помещает имя в форму и, когда я console.log я получить, что значение, я затем вызываю свою функцию в контроллере, и все выглядит успешно - никаких ошибок, но когда я проверяю mysql name = NULL, почему?

Моя форма:

<div class="modal fade" id="myModalHorizontal" tabindex="-1" role="dialog" 
    aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <!-- Modal Header --> 
      <div class="modal-header"> 
       <button type="button" class="close" 
        data-dismiss="modal"> 
         <span aria-hidden="true">&times;</span> 
         <span class="sr-only">Close</span> 
       </button> 
       <h4 class="modal-title" id="myModalLabel"> 
        Website Name 
       </h4> 
</div> 
      <div class="modal-body"> 
       <form action="{{ action('[email protected]') }}" 
       class="form-horizontal" role="form" method = "POST"> 
        <div class="form-group"> 
        <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
        <input type="hidden" id="code" name="newCode" value=""> 
        <label class="col-sm-2 control-label" 
           for="website_name">Name</label> 
        <div class="col-sm-10"> 
         <input type="text" class="form-control" 
         id="website_name" placeholder="Website Name"/> 
      </div> 
     </div> 
    </div> 

      <!-- Modal Footer --> 
      <div class="modal-footer"> 
       <button type="button" class="form-control margin btn btn-danger" 
         data-dismiss="modal"> 
          Close 
       </button> 
       <button onClick=" updateDatabase(this);" type="submit" class="form-control margin btn btn-success" id="getRequest changes"> 
        Save Website 
       </button> 
      </div> 
     </div> 
    </div></form> 
</div> 

JS:

var web_name; 
function updateDatabase() 
{ 
    code2 = document.getElementById("content-link2").innerHTML; 
    var newCode = document.getElementById('code').value = code2; 
    web_name = ($('#website_name').val()); 
     console.log(web_name); 
     console.log(newCode); 

Контроллер:

public function postDB(Request $request) { 
    $newName = $request->input('web_name'); 
    $newLat = $request->input('newCode'); 
    $websites = new Website(); 
    $websites->name = $newName; 
    $websites->html = $newLat; 
    $websites->save(); 

    // Now we go to our other function 
    return $this->website($newName); 
} 
public function website($newName) 
{ 
    // Return our "website" object 
    $html = Website::where('name', $newName)->first(); 

    // Pass the contents of the "html" property to the view 
    return view('layouts/website', [ 
     'html' => $html->html 
    ]); 
} 
+0

Вы уже установили $ fillable в модели? else сначала возвращает содержимое запроса $ request, чтобы вы могли вывести, если имя передано вашему элементу управления. –

ответ

0

Вам нужно добавить name атрибут input элемента:

<input name="website_name" ...