Как исправить: SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец 'create_at - PullRequest
1 голос
/ 30 июня 2019

SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец 'create_at' в 'предложении заказа' (SQL: выберите * из posts, где posts. user_id = 2 и posts. user_idcreate_at desc) не имеет нулевого порядка (Просмотр: D: \ xampp \ htdocs \ xampp \ practice \ freecode \ resources \ views \ profile \ index.blade.php)

Я пробовал: phpМастер миграции: свежий

index.blade.php

<div class="col-9 pt-5">
           <div class=" d-flex justify-content-between align-items-baseline font-weight-bold"><h1>{{ $user->username }}</h1>
            <a href="/p/create">Add New Post</a>
           </div>
                <div class="d-flex">
                    <div ><strong>{{ $user->posts->count() }}</strong> posts</div>
                    <div class="pl-5"><strong>23k</strong> followers</div>
                    <div class="pl-5"><strong>435</strong> following</div>
                </div>
                <div class="pt-4 font-weight-bold" ><strong>{{ $user->profile->title }}</strong></div>
                <div>{{ $user->profile->description }}</div>
                <div><a href="#">{{ $user->profile->url ??'N/A' }}</a></div>
        </div>

    </div>
    <div class="row pt-5">
        @foreach($user->$posts as $post)
        <div class="col-4" >
            <img src="/storage/{{ $post->image }}" class="w-100"> 
        </div>
        @endforeach

Файл User.php ----

 public function posts()
    {
        return $this->hasMany(Post::class)->orderBy('create_at','desc');
    }
    public function profile()
    {
        return $this->hasOne(Profile::class);
    }

Файл post.php

class Post extends Model
{
     protected $guarded=[];
   public function user()
    {
        return $this->belongsTo(User::class);
    }
}

Ответы [ 3 ]

1 голос
/ 30 июня 2019

Вот ошибка

    public function posts()
    {
        return $this->hasMany(Post::class)->orderBy('created_at','desc');
    }
1 голос
/ 30 июня 2019

Неизвестный столбец create_at и известен created_at

В вашем файле User.php

изменить

return $this->hasMany(Post::class)->orderBy('create_at','desc');

до

return $this->hasMany(Post::class)->orderBy('created_at','desc');
0 голосов
/ 30 июня 2019

Атрибут метки времени по умолчанию для даты создания: created_at, а не create_at

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...