Здравствуйте, я новичок в Laravel и теперь я перед этой ошибкой BadMethodCallException in Macroable.php line 74: Method save does not exist.
BadMethodCallException в строке Macroable.php 74: Сохранение метода не существует. Laravel 5,2
Если я var_dump(); die();
все выходные, то я получаю все из них, но когда я использую метод сохранения для сохранения результатов в базу данных это дает мне эту ошибку save method does not exist
. Я не знаю, где в моем коде я делаю это неправильно.
Обратитесь к контроллеру маршрута и просмотрите его для правильного понимания. Заранее спасибо.
Контроллер
public function td($id) {
$tn = $this->t->getAllTn();
$to = $this->t->getAllTo();
$time = Carbon\Carbon::now(); // current time
$time->toDateTimeString(); // converting time to string
if((isset($_POST["n"]) && !empty($_POST["n"]))) {
$tn->t_type_id = Input::get('options');
$tn->d_id = $id;
$tn->result = Input::get('message');
$tn->date = $time;
// var_dump($tn->date);
// var_dump($tn->t_type_id);
// var_dump($tn->d_id);
// var_dump($tn->result);
// die();
Session::flash('message', 'Your tn has been added.');
$tn->save();
} else if((isset($_POST["o"]) && !empty($_POST["o"]))) {
$to->d_id = $id;
$to->outcome = Input::get('message');
$to->date = $time->toDateTimeString();
// var_dump($to->d_id);
// var_dump($to->outcome);
// var_dump($to->date = $time->toDateTimeString());
// die();
Session::flash('message', 'Your to has been added.');
$to->save();
}
return redirect('/t');
}
Маршрут
Route::get('/t/{id}', '[email protected]');
Route::post('/t/{id}', '[email protected]');
Просмотр
<div class="form-group">
<form action="/t/{{ $d['id'] }}" method="post">
{{ csrf_field() }}
<div class="panel-body"><h4>Heading here</h4></div>
<select class="form-control" id="options" name="options" style="width:100%" type="checkbox">
@foreach($t as $t)
<option value="{{ $t->id }}">{{ $t->type }}</option>
@endforeach
</select>
</div>
<div class="col-md-4" id="value" align="center">
<div class="panel panel-warning">
<div class="panel-heading">
Enter text below
</div>
<div class="form-group has-success">
<textarea class="form-control" id="message" name="message" placeholder="Please enter your message here..." rows="5"></textarea>
<input type="submit" class="btn btn-primary" name="n" value="A-N">
<input type="submit" class="btn btn-primary" name="o" value="A-O">
</div>
</form>
<!-- Notes: <br/>-->
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
function hide() {
$("#value").hide();
$("#h").hide();
$("#search").hide();
}
function show() {
$("#value").show();
$("#h").show();
$("#search").show();
}
function initHandlers() {
$("#options").on('click', function() {
show();
});
}
hide();
initHandlers();
</script>
Интерфейс Реализация
public function getAllTn() {
return TN::all();
}
public function getAllTO(){
return TO::all();
}
Вы пытаетесь сохранить коллекцию? '$ to' является результатом' TO :: all() ', который должен возвращать' Collection'. –
это просто текстовое поле вместе с идентификатором и датой времени 'eg 'Это сообщение« добавлено в идентификатор пользователя »5'' ... Я не знаю, почему я его получаю ... –
Я просто пытаюсь хранить 'id' и' result (message) 'под их столбцами в базе данных. –