#php #laravel
#php #laravel
Вопрос:
*** здесь мой контроллер ***
public function create(Request $request){
return $addComment=Comment::create([
'description'=>$request->comment,
'commentable_id'=>Auth::user()->id,
'commentable_type'=>'AppUser'
]);
// вот моя форма
<form method="post" action="{{route('comments')}}">
@csrf
<label for="comment">Şərh yaz</label><br>amp;nbsp;
<textarea id="comment " name="comment" rows="3" cols="50">
</textarea>
<button type="submit" class="btn btn-primary">Şərh yaz</button>
</form>
/// как я могу решить эту ошибку?я построил полиморфные отношения в моделях.
Комментарии:
1. Перед этим вам нужно будет указать либо заполняемый, либо защищенный атрибут в модели, поскольку все модели Eloquent по умолчанию защищают от массового присвоения. Ссылка
2. я использую это в модели комментариев. защищенный $ fillable=[‘description, commentable_id, commentable_type’];
3. Не могли бы вы, пожалуйста, показать, какую ошибку вы получаете?
4. SQLSTATE [HY000]: Общая ошибка: поле ‘description’ 1364 не имеет значения по умолчанию (SQL: вставить в
comments
(updated_at
,created_at
) значения (2020-08-20 10:14:18, 2020-08-20 10:14:18))
Ответ №1:
Вы должны определить это :
$fillable=['description, commentable_id, commentable_type'];
К этому:
$fillable=['description', 'commentable_id', 'commentable_type'];
Комментарии:
1. я вас не понимаю. Оба кода одинаковы. я использую $ fillable=[‘description, commentable_id, commentable_type’]; в моей модели
2. Нет, это не то же самое, что вы используете
' . . .'
для всех имен столбцов. Пожалуйста, внимательно посмотрите выше, чтобы найти разницу.3. Это работает, спасибо. итак, как я получаю конкретные комментарии к сообщению? Потому что я не использую post_id в своей таблице комментариев
4. Пожалуйста, проверьте эту ссылку , иначе вы можете задать другой вопрос и опубликовать все подробности относительно получения комментариев к сообщению.
5. Извините, невозможно. Вы можете задавать вопросы.