Laravel数据未显示

发布于 2025-01-29 16:16:24 字数 2606 浏览 0 评论 0原文

我正在尝试从MongoDB数据库中读取本地收集的数据。数据库Intuit名称的名称收集名称。 postcontroller内部的代码:

<?php
use Illuminate\Http\Request;
use App\Models\Post;
class PostController extends Controller{

public function home() {
    $posts = Post::with(['user'])->get();

    return view('home', ['posts' => $posts->toArray()]);
}}

代码内部帖子:

class Post extends Model{
use HasFactory;

protected $fillable = [
'STATUS',

'DDC_CODE',

'TRADE_NAME',

'SCIENTIFIC_CODE',

'SCIENTIFIC_NAME',

'INGREDIENT_STRENGTH',

'DOSAGE_FORM_PACKAGE',

'ROUTE_OF_ADMIN',
'PACKAGE_PRICE',

'GRANULAR_UNIT',

'MANUFACTURER',

'REGISTERED_OWNER',

'UPDATED_DATE',

'SOURCE'
];}

以上所有内容都是表中的列的标题。 Next Home.blade.php:

<!DOCTPE html>
<html>
<head>
<title>View Records</title>
</head>
<body>
<table border = "1">
<tr>
<td>Id</td>
<td>STATUS</td>
<td>DDC_CODE</td>
<td>TRADE_NAME</td>
<td>SCIENTIFIC_CODE</td>
<td>SCIENTIFIC_NAME</td>
<td>SCIENTIFIC_CODE</td>
<td>INGREDIENT_STRENGTH</td>
<td>DOSAGE_FORM_PACKAGE</td>
<td>ROUTE_OF_ADMIN</td>
<td>PACKAGE_PRICE</td>
<td>GRANULAR_UNIT</td>
<td>MANUFACTURER</td>
<td>UPDATED_DATE</td>
<td>SOURCE</td>

</tr>
@foreach ($posts as $post)
<tr>
<td>{{ $post->_id }}</td>
<td>{{ $post->STATUS }}</td>
<td>{{ $post->DDC_CODE }}</td>
<td>{{ $post->TRADE_NAME }}</td>
<td>{{ $post->SCIENTIFIC_CODE }}</td>
<td>{{ $post->SCIENTIFIC_NAME }}</td>
<td>{{ $post->INGREDIENT_STRENGTH }}</td>
<td>{{ $post->DOSAGE_FORM_PACKAGE }}</td>
<td>{{ $post->ROUTE_OF_ADMIN }}</td>
<td>{{ $post->PACKAGE_PRICE }}</td>
<td>{{ $post->GRANULAR_UNIT }}</td>
<td>{{ $post->MANUFACTURER }}</td>
<td>{{ $post->REGISTERED_OWNER }}</td>
<td>{{ $post->UPDATED_DATE }}</td>
<td>{{ $post->SOURCE }}</td>
</tr>
@endforeach
</table>
</body>
</html>
The route handler is as follows

Route::get('view','App\Http\Controllers\PostController@home');

所有这些似乎都很好,但是当我加载应用程序时,我什么也看不见列标题,我不确定我缺少什么,我相信它是不起作用的,因为PostController中的查询不正确,并且需要更改它,因为来自另一个projec。欢迎任何帮助和建议。

I am trying to read data from a local collections from my mongodb database. Name of database Intuit name of collection post.
Code inside PostController:

<?php
use Illuminate\Http\Request;
use App\Models\Post;
class PostController extends Controller{

public function home() {
    $posts = Post::with(['user'])->get();

    return view('home', ['posts' => $posts->toArray()]);
}}

Code inside Post:

class Post extends Model{
use HasFactory;

protected $fillable = [
'STATUS',

'DDC_CODE',

'TRADE_NAME',

'SCIENTIFIC_CODE',

'SCIENTIFIC_NAME',

'INGREDIENT_STRENGTH',

'DOSAGE_FORM_PACKAGE',

'ROUTE_OF_ADMIN',
'PACKAGE_PRICE',

'GRANULAR_UNIT',

'MANUFACTURER',

'REGISTERED_OWNER',

'UPDATED_DATE',

'SOURCE'
];}

All of the above are the titles of the columns in the table.
Next home.blade.php:

<!DOCTPE html>
<html>
<head>
<title>View Records</title>
</head>
<body>
<table border = "1">
<tr>
<td>Id</td>
<td>STATUS</td>
<td>DDC_CODE</td>
<td>TRADE_NAME</td>
<td>SCIENTIFIC_CODE</td>
<td>SCIENTIFIC_NAME</td>
<td>SCIENTIFIC_CODE</td>
<td>INGREDIENT_STRENGTH</td>
<td>DOSAGE_FORM_PACKAGE</td>
<td>ROUTE_OF_ADMIN</td>
<td>PACKAGE_PRICE</td>
<td>GRANULAR_UNIT</td>
<td>MANUFACTURER</td>
<td>UPDATED_DATE</td>
<td>SOURCE</td>

</tr>
@foreach ($posts as $post)
<tr>
<td>{{ $post->_id }}</td>
<td>{{ $post->STATUS }}</td>
<td>{{ $post->DDC_CODE }}</td>
<td>{{ $post->TRADE_NAME }}</td>
<td>{{ $post->SCIENTIFIC_CODE }}</td>
<td>{{ $post->SCIENTIFIC_NAME }}</td>
<td>{{ $post->INGREDIENT_STRENGTH }}</td>
<td>{{ $post->DOSAGE_FORM_PACKAGE }}</td>
<td>{{ $post->ROUTE_OF_ADMIN }}</td>
<td>{{ $post->PACKAGE_PRICE }}</td>
<td>{{ $post->GRANULAR_UNIT }}</td>
<td>{{ $post->MANUFACTURER }}</td>
<td>{{ $post->REGISTERED_OWNER }}</td>
<td>{{ $post->UPDATED_DATE }}</td>
<td>{{ $post->SOURCE }}</td>
</tr>
@endforeach
</table>
</body>
</html>

The route handler is as follows

Route::get('view','App\Http\Controllers\PostController@home');

all of this seems to be fine but when I load up the application I see nothing but the column titles not sure what I am missing, I believe it is not working because the query in PostController is incorrect and need to change it as it is taken from another projec. Any and all help and suggestions are welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

╰沐子 2025-02-05 16:16:24

而不是

Post::with(['user'])->get();

使用用户关系。

Post::with(['user'])->all();

post模型中正确定义了关系,

Instead of

Post::with(['user'])->get();

use

Post::with(['user'])->all();

subject to user relationship is properly defined in your Post model

忘你却要生生世世 2025-02-05 16:16:24

您将数据作为数组发送,但是您正在尝试将它们作为刀片视图文件中的对象作为对象。

而不是获取这样的数据:

$post->STATUS

尝试这样使用:

$post['STATUS']

You are sending data as array, But you are trying to get them as object in your blade view file.

Instead of getting data like this:

$post->STATUS

Try using like this:

$post['STATUS']
灼痛 2025-02-05 16:16:24

请勿使用- &gt; toArray()

传递数据如下&amp;变量将显示

返回视图('HOME',['posts'=&gt; $ perts)]);

Don't use ->toArray()

Pass data as below & variables will get displayed

return view('home', ['posts' => $posts)]);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文