PHP Laravel - routing - Object of class stdClass could not be converted to string

PHP Laravel - routing - Object of class stdClass could not be converted to string

Dobrý den,

tápu při vytváření správné route ve frameworku Laravel, resp. nevím jak správně předat instanci objektu v route - jak jí předat pro GET. Konkrétně mám v jednom souboru show.blade.php odkaz na editaci přes link

route('item.edit', ['item' => $item]).

CHYBA
---------------------------------------------------
Facade\Ignition\Exceptions\ViewException
Object of class stdClass could not be converted to string (View: /var/www/laravel/dev1/resources/views/item/analyzer.blade.php)


route web.php
---------------------------------------------------

Route::get('/item/analyzer/{item_id}/{upload_id}', function ($item_id, $upload_id) {
$item = DB::table('items')->where('id', $item_id)->first();
$upload = DB::table('uploads')->where('id', $upload_id)->first();
$t = new App\Http\Controllers\itemController;
return view('item.analyzer', ['results' => $t->handleAnalyze($item_id, $upload_id), 'item' => $item, 'upload' => $upload ]);
});


show.blade.php
---------------------------------------------------
< a href="{{ route('item.edit', ['item' => $item]) }}" class="btn btn-primary">Edit

-
-
-
-
Když změním DB dotaz na funkci get() v route web.php tzn. $item = DB::table('items')->where('id', $item_id)->get();

Nová CHYBA
---------------------------------------------------
Facade\Ignition\Exceptions\ViewException
Missing required parameters for [Route: item.edit] [URI: item/{item}/edit]. (View: /var/www/laravel/dev1/resources/views/item/analyzer.blade.php)




ODPOVĚĎ


Dobrý den,

chybu v Laravel "Object of class stdClass could not be converted to string" můžete zkusit vyřešit v route/web.php tak, že upravíte výběr z DB na instanci Item takto:
'item' => Item::find($item_id)


use App\Item;
...
Route::resource('item', 'ItemController'); // only CRUD
Route::get('/item/analyzer/{item_id}/{upload_id}', function ($item_id, $upload_id) {
$upload = DB::table('uploads')->where('id', $upload_id)->first();
$t = new App\Http\Controllers\ItemController;
return view('item.analyzer', ['results' => $t->handleAnalyze($item_id, $upload_id), 'item' => Item::find($item_id), 'upload' => $upload ]);
});
Show english version

Komentáře

Vaše reakce na PHP Laravel - routing - Object of class stdClass could not be converted to string

Související obsah

programovani

php

laravel

databaze

sql

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.