Dram

Рейтинг
1115
Регистрация
28.06.2008
Так info.php открывается же. Включил ошибки - получил "Error: Failed to start application: Failed to start the session"

Может кому-то пригодится

В модели юзер указал что искать города нужно по полю ID

    public function city()
    {
        return $this->hasOne('App\City', 'id');
    }

В контроллере так

    public function index()
    {
        $users = \App\User::find('1');
        return view('users.city', ['users' => $users]);
    }

В представлении так

Юзер - {{$users->name}}, город {{$users->city->name}}
vitor #:
Я уже подзабыл немного, но если все правильно то у User::class должно появится свойство-объект city. По моему там нужно прописать еще имена таблицы в hasOne и belongsTo. Есть прекрасный ресурс для русскоязычных, там есть почти все ответы на ваши вопросы https://laravel.ru/

Я там доки и читаю, хоть там и 5 версия, а у меня 8, ну не суть...  

На счет свойства, это было первое что я попробовал после чтения доков

$users = \App\User::find('1')->city;

В итоге ошибка

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'cities.user_id' in 'where clause' (SQL: select * from `cities` where `cities`.`user_id` = 1 and `cities`.`user_id` is not null limit 1)

Далее я пробовал указать столбец по которому должно идти связывание в модели Сити

    public function user()
    {
        return $this->belongsTo('App\User', 'user_id');
    }

Не помогло...  Пробовал это поле указать и в моделе Сити - то же без толку

vitor #:
Post::findOrFail($id);

Спасибо, то что нужно!

vitor #:
В контроллере проверяйте если id не найден -> редирект на 404

Нет там как то проще, есть метод по умолчанию 

findOrFail($id);

не пойму как и где его применить, пробую в контроллере

<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Post;

class PostModelController extends Controller
{
    public function post($order = 'date', $dir = '')
    {
        if($dir=='desc'){
            $posts = Post::all()->sortByDesc($order);
        }else{
            $posts = Post::all()->sortBy($order);
        }
        return view('test.post', ['posts' => $posts]);
    }
    public function getOne($id)
    {
        $post = Post::find($id)->findOrFail($id);
        return view('test.postOne', ['post' => $post]);
    }
}

но получаю ошибку 

Call to a member function findOrFail() on null
До этого я мучал файл database.php, посмотрел .env, исправил там (да там был root), спасибо, это помогло!
В условиях задачи про сессию ни слова, хочу просто понять где я ошибаюсь, почему данные с формы не приходят при редиректе с 
->withInput()
Ларавель учу - там нужно было в роутере регулярками сделать проверку даты в адресе, вот я и подвис, ранее думал что в квадратных скобках можно указать диапазон, оказывается не все так просто...

Короче, кому надо - вот рабочее решение 

<script>
let wrapper = document.getElementById('telo')
const observer = new MutationObserver(function (mutations, observer) {
  wrapper.style.height = ''
  wrapper.style.minHeight = ''
})
observer.observe(wrapper, {
  attributes: true,
  attributeFilter: ['style']
})
</script>

telo -  id нужного дива у которого высота адсенсом меняется. Этот скрипт после адсенса ставьте

Короче, кому надо - вот рабочее решение 

<script>
let wrapper = document.getElementById('telo')
const observer = new MutationObserver(function (mutations, observer) {
  wrapper.style.height = ''
  wrapper.style.minHeight = ''
})
observer.observe(wrapper, {
  attributes: true,
  attributeFilter: ['style']
})
</script>

telo -  id нужного дива у которого высота адсенсом меняется. Этот скрипт после адсенса ставьте

Всего: 6928