我试图将文章数据传递给名为article.blade.php的单页文章,尽管所有数据都记录到了数据库中,但是当我尝试将其返回到我的视图时,没有显示任何内容,并且[]是空的。什么也没回来。
这是我的articleController.php
<?php
namespace App\Http\Controllers;
use App\Article;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
public function single(Article $article)
{
return $article;
}
}
这是我的模特
<?php
namespace App;
use Cviebrock\EloquentSluggable\Sluggable;
use Illuminate\Database\Eloquent\Model;
class Article extends Model
{
use Sluggable;
protected $guarded = [];
protected $casts = [
'images' => 'array'
];
public function sluggable()
{
return [
'slug' => [
'source' => 'title'
]
];
}
public function path()
{
return "/articles/$this->slug";
}
public function comments()
{
return $this->morphMany(Comment::class, 'commentable');
}
}
这是我的路线
Route::get('/articles/{articleSlug}' , 'ArticleController@single');
答案 0 :(得分:2)
将代码更改为
return view(..., ['article' => $article])
将路线更改为
class ArticleController extends Controller
{
public function single(Article $article)
{
return view('article', compact('article'));
}
}
模型
Route::get('/articles/{article}' , 'ArticleController@single');
答案 1 :(得分:2)
您可能没有获取任何数据,因为您未指定将title_slug用作模型中模型绑定的路由键。
将此添加到模型类中,它应该会给您数据
public function getRouteKeyName()
{
return 'slug';
}
然后您可以以json,view或其他格式返回数据。
答案 2 :(得分:1)
根据您尝试存档的内容,您需要...
void setGrid(){
//setting the cell height as the cell widht
int imagWidth = cell[0][0].getLayoutParams().width;
for(int r=0;r<rowCount;r++)
for(int c=0;c<columnCount;c++) {
cell[r][c].getLayoutParams().height = imagWidth;
cell[r][c].requestLayout();
}
}
..用于json响应或..
return $article->toJson(); // or ->toArray();
用于将文章传递到特定视图