Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 15.03.2020 19:29:22

Kак вытащить данные из базы данных mysql в blade.php

Добрый день! Подскажите как вытащить данные из базы данных в ...blade.php?
Никак не получается - все ошибки и ошибки...

На данном этапе имеется последний Ларавел и МаринаДБ 5.5 и пхп 7.3

код: Category.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
  //  
}

web.php

<?php

use Illuminate\Support\Facades\Route;

Route::get('/', function () {
  $category = App\Category::all();
  return view('welcome', compact('category' -> $category['name']));
});

welcome.blade.php

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<h1>test</h1><ul>
@forech ($category as $c)
<li>{{ $c->name }}</li>
@endforech
</ul>
<body>
</body>
</html>

Не в сети

#2 16.03.2020 10:11:20

Re: Kак вытащить данные из базы данных mysql в blade.php

return view('welcome', $category);

Не в сети

#3 16.03.2020 10:49:40

Re: Kак вытащить данные из базы данных mysql в blade.php

Поправил но не выводит данные а просто показывает:  :
@forech ($category as $c)
{{ $c->name }}
@endforech

Не в сети

#4 16.03.2020 13:29:47

Re: Kак вытащить данные из базы данных mysql в blade.php

как минимум есть разница @forech и @foreach

Не в сети

#5 16.03.2020 14:29:32

Re: Kак вытащить данные из базы данных mysql в blade.php

Это да. вот  такое выдает:
Facade\Ignition\Exceptions\ViewException
Undefined variable: category

Нет где то примеров как это работает на Laravel version 7.1.3 ? roll

Изменено Jb (16.03.2020 14:52:10)

Не в сети

#6 16.03.2020 15:59:39

Re: Kак вытащить данные из базы данных mysql в blade.php

так ты не подключил свою Модель Category в файлу web.php,поэтому и он не понимает что за переменные и откуда.

Не в сети

#7 16.03.2020 16:01:34

Re: Kак вытащить данные из базы данных mysql в blade.php

use App\Category;

наверху напиши и в compact напиши так compact($category)

Не в сети

#8 16.03.2020 17:28:10

Re: Kак вытащить данные из базы данных mysql в blade.php

Это поправил..., но cмотрите что выходит:
ErrorException
Trying to get property '[{"id":1,"parent_id":0,"name":"..."},{"id":2,"parent_id":1,"name":"...}]' of non-object

Не в сети

#9 16.03.2020 22:22:06

Re: Kак вытащить данные из базы данных mysql в blade.php

Всем спасибо  - два дня ковырял и уала - получилось простую штуку сделать! Оно конечно трудно для начинающего сразу на 7 версии - мало инфо.
Каму интересно - смотрите
Это не работает:

наверху напиши и в compact напиши так compact($category)

Надо так:

compact('category')

это работает на Ларавел 7 - Может кому пригодится:
web.php

<?php
use Illuminate\Support\Facades\Route;
use App\Categories;
Route::get('/', function () {
  $categories = App\Categories::all();
 return view('welcome', compact('categories'));
});

Categories.php

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Categories extends Model
{
  
    //$categories = DB::table('categories')->get();
}

welcome.blade.php

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<h1>Test 101</h1><ul>
@foreach ($categories as $c)
<li>{{ $c['name'] }}</li>
@endforeach
</ul>
<body>
</body>
</html>

Изменено Jb (16.03.2020 22:38:27)

Не в сети

Подвал раздела