odczyt z bazy danych

odczyt z bazy danych
  • Rejestracja: dni
  • Ostatnio: dni
0

Cześć, mam problem z odczytem z tabeli. mam błąd

Could not convert database value to 'array' as an error was triggered by the unserialization: 'unserialize(): Error at offset 0 of 7 bytes'>

Kopiuj
    /**
     * @Route("/samochody", name="samochody")
     */
    public function index()
    {
       $em = $this->getDoctrine()->getManager();
$entities = $em->getRepository(samochody::class)->findAll();
$entities= serialize($entities);
return $this->render('samochody/index.html.twig', [
'controller_name' => 'SamochodyController', 'dane' => $entities
]);
CodeRZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 259
0

A nie lepiej nie serializować i dać to do twiga?

  • Rejestracja: dni
  • Ostatnio: dni
0

w twingu mam na prób tylko taki kod

  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
{%for samochod in dane%}
            {{samochod.name }}
            {%endfor%}

a tę linijkę z serialize to wygooglałem i dodałem ale i bez tego nie działa

CodeRZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 259
0

A co pokazuje bez serialize?

Zawsze możesz dać

Kopiuj
$array = [];
foreach(){
$array[] = $obiekt->getVal();
}
  • Rejestracja: dni
  • Ostatnio: dni
0

BTW polecicie jakiś darmowy kurs symfony najlepiej po polsku ale i angielski może być, bo na uczelni to miałem prawie nic a muszę zrobić projekt

CodeRZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 259
0

po polsku nic nie ma
z ang:

*oficjalna dokumentacja

*symfony casts (tylko pierwszy rozdział za darmo)

serek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1506
0

Po co zwracasz do twiga wartość:

Kopiuj
'controller_name' => 'SamochodyController'

?

Zamiast tego, aby dostać cały namespace controllera, możesz użyć:

Kopiuj
{{ app.request.attributes.get("_controller") }}

Jeśli chcesz jednak wartość w stylu SamochodyController to lepiej napisz sobie rozszerzenie dla twiga (https://symfony.com/doc/current/templating/twig_extension.html), które będzie zwracać Ci taką wartość:

Kopiuj
<?php

namespace App\Twig;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;

class ControllerExtension extends \Twig_Extension implements \Twig_Extension_GlobalsInterface
{
    /**
     * @var Request
     */
    protected $request;

    /**
     * AppExtension constructor.
     *
     * @param RequestStack $requestStack
     */
    public function __construct(RequestStack $requestStack)
    {
        $this->request = $requestStack->getCurrentRequest();
    }

    public function getGlobals()
    {
        return [
            'controller_name' => $this->getControllerName(),
        ];
    }

    /**
     * Get current controller name.
     *
     * @return string
     */
    private function getControllerName()
    {
        if (null !== $this->request) {
            $pattern = "#\\\([a-zA-Z]*)::#";
            $matches = [];
            preg_match($pattern, $this->request->get('_controller'), $matches);

            if (!isset($matches[1])) {
                return null;
            }

            return $matches[1];
        }
    }
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.