データベースのデータを表示しようとすると、エラーが発生します。この問題は、このWebサイトに投稿を作成した他のユーザーによって発生しました。しかし、それらにはforeachループがあり、私にはありません。したがって、この問題に対して与えられたすべての答えは機能しません。
記事コントローラー
public function showwereld($id)
{
$artikels = Artikel::where('id', $id);
return view('pages.show')->with('artikels', $artikels);
}
show.blade.php
<div class="row">
<div class="artikeltitel marginauto">
<div class="col-md-6 offset-md-3">
<h2>{{$artikels->title}}</h2>
<p style="font-weight: bold;">{{$artikels->intro}}</p>
<p>{{$artikels->body}}</p>
</div>
</div>
</div>
コントローラ上のこれ
public function index()
{
$artikel = Artikel::where('category_id', '1')->first();
return view('pages.wereld',compact('artikel'));
}
ビューで:
<div class="row">
<div class="artikeltitel marginauto">
<div class="col-md-6 offset-md-3">
<h2>{{$artikel->title}}</h2>
<p style="font-weight: bold;">{{$artikel->intro}}</p>
<p>{{$artikel->body}}</p>
</div>
</div>
</div>
熱心なローディング関係(これはこれを理解するだけで機能します)
DataTablesは、Eloquentを使用するときに、熱心に読み込まれた関係の検索と並べ替えをサポートします。この例では、Eloquent Engineを使用して熱心な読み込み検索を設定する方法を示します。
検索を有効にするには、Laravelのser :: with( 'posts') apiを使用して、使用する関係を熱心にロードする必要があります。
use DataTables;
Route::get('user-data', function() {
$model = App\User::with('posts');
return DataTables::eloquent($model)
->addColumn('posts', function (User $user) {
return $user->posts->map(function($post) {
return str_limit($post->title, 30, '...');
})->implode('<br>');
})
->toJson();
});
posts関係で検索をトリガーするには、relation.column_nameを-として指定する必要がありますname属性javascriptの適切な属性。
<script>
$(document).ready(function() {
$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '{{ url("collection/basic-object-data") }}',
columns: [
{data: 'id', name: 'id'},
{data: 'name', name: 'name'},
{data: 'email', name: 'email'},
{data: 'posts', name: 'posts.title'},
{data: 'created_at', name: 'created_at'},
{data: 'updated_at', name: 'updated_at'}
]
});
});
</script>
{data: 'posts'、name: 'posts.title'}、を見る:
data:postsはデータキーを表します(data.posts)テーブルに表示します。 name:posts.titleは、ユーザーモデルの関係(posts)と、これから実行する列を表します検索(title)。
または基本的にこれを試してください:
$artikel = Artikel::find($id);
return view(pages.wereld, ['artikel' => $artikel]);
ビューでこれを使用してください:
{{ $artikel->name }}
コード上:レコードを取得するために呼び出していますが、複数形を使用しようとしています。