Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用户使用Laravel提交的帖子_Php_Laravel_Blade_Posts - Fatal编程技术网

Php 用户使用Laravel提交的帖子

Php 用户使用Laravel提交的帖子,php,laravel,blade,posts,Php,Laravel,Blade,Posts,我试图建立一个应用程序,它将包含一个管理仪表板,管理员将能够CRUD的职位,但他也将能够看到用户提交的职位。 另一方面,来宾可以只看到帖子,但他可以创建用户提交的帖子 到目前为止,我已经设法让帖子的功能正常工作,但没有为用户提交帖子 我的控制器: namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Usp; class AdminUserPostsController extends Controller

我试图建立一个应用程序,它将包含一个管理仪表板,管理员将能够CRUD的职位,但他也将能够看到用户提交的职位。 另一方面,来宾可以只看到帖子,但他可以创建用户提交的帖子

到目前为止,我已经设法让帖子的功能正常工作,但没有为用户提交帖子

我的控制器:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Usp;

class AdminUserPostsController extends Controller
{
    public function index()
    {
        $userposts = Usp::orderBy('id', 'desc')->paginate(10);
        return view('admin.userposts.archive')->withUsp($userposts);
    }

    public function show($id)
    {
        $userpost = Usp::find($id);
        return view('admin.userposts.show')->withUsp($userpost);
    }
}
我的模型

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Usp extends Model
{
    //
}

虽然我在控制器中定义了userposts变量,但我得到的错误是没有定义userposts变量。任何有帮助的人?

如果您想使用
userposts
变量,请执行以下操作:

return view('admin.userposts.archive', compact('userposts');
或者这个:

return view('admin.userposts.archive', ['userposts' => $userposts]);

如果要使用
userposts
变量,请执行以下操作:

return view('admin.userposts.archive', compact('userposts');
或者这个:

return view('admin.userposts.archive', ['userposts' => $userposts]);
更改此项:

return view('admin.userposts.show')->withUsp($userpost);

然后再试一次。您可以在blade视图上获得
$userpost
,如下所示:

{{$userpost}}

如果是数组,请使用
foreach()
获取其所有元素。

更改此选项:

return view('admin.userposts.show')->withUsp($userpost);

然后再试一次。您可以在blade视图上获得
$userpost
,如下所示:

{{$userpost}}

如果是数组,请使用
foreach()
获取其所有元素。

您应该将变量“传输”到视图中。有几种方法可以做到这一点,但我认为最常见的是使用“with compact”。在你的情况下,你应该改变这个

return view('admin.userposts.archive')->withUsp($userposts);
对此

return view('admin.userposts.archive')->with(compact('userposts'));
它是如何工作的:

compact("varname", [...])
返回一个数组,其中键为变量名,值为变量值

with将所有阵列传输到视图

附言:

和这个一模一样

['userposts' => $userposts]
您应该将变量“传输”到视图中。有几种方法可以做到这一点,但我认为最常见的是使用“with compact”。在你的情况下,你应该改变这个

return view('admin.userposts.archive')->withUsp($userposts);
对此

return view('admin.userposts.archive')->with(compact('userposts'));
它是如何工作的:

compact("varname", [...])
返回一个数组,其中键为变量名,值为变量值

with将所有阵列传输到视图

附言:

和这个一模一样

['userposts' => $userposts]

非常感谢你们所有人!也谢谢你的解释。我的商店功能怎么样?当我必须使用此代码重定向时
return redirect()->route('admin.userposts.show',$userpost->id)我试图使其
返回重定向()->路由('admin.userposts.show',compact('userpost',id')但它不起作用:(route函数的工作方式并不完全相同,对于显示帖子这样的简单事情,您可以像使用
$userpost->id
那样直接传递值,或者您可以使用完整对象,框架将决定它采用的值(默认情况下为id)(即只给他
$userpost
)。如果要更改列,可以更改列。只有当您有多个参数时,才需要传递一个数组,键是参数的名称。此外,为了解释
compact('userpost',id')
,这意味着您实际上有两个变量,一个是
$userpost
,另一个是
$id
。如果定义了这两个变量,它将返回
['userpost'=>$userpost,'id'=>$id]
这说明了很多问题,现在我想我可以在使用compact在视图中传递变量时解决它。我想现在唯一的问题是我无法存储userpost,因为在我尝试执行
$userpost=new Usp;$userpost->title=$request->title;$userpost->body=$request->body;$userpost->sav后它返回nulle();
在这种情况下我也必须使用compact吗?因为这是一个完全不同的问题,我认为您应该将它作为一个单独的主题,我很高兴在这里回答您。非常感谢大家!也感谢你们的解释。但是我的存储函数呢?当我必须使用此代码重定向时
返回重定向()->路由('admin.userposts.show',$userpost->id);
我试着让它
返回重定向()->路由('admin.userposts.show',compact('userpost',id');
但它不起作用:(route函数的工作方式并不完全相同,对于显示帖子这样的简单事情,您可以像使用
$userpost->id
那样直接传递值,或者您可以使用完整对象,框架将决定它采用的值(默认情况下为id)(即只需给他
$userpost
)。如果要更改列,可以更改列。只有当您有多个参数时,才需要传递一个数组,键是参数的名称。此外,为了解释
compact('userpost',id')
,这意味着您实际上有两个变量,一个是
$userpost
,另一个是
$id
。如果定义了这两个变量,它将返回
['userpost'=>$userpost,'id'=>$id]
这说明了很多问题,现在我想我可以在使用compact在视图中传递变量时解决它。我想现在唯一的问题是我无法存储userpost,因为在我尝试执行
$userpost=new Usp;$userpost->title=$request->title;$userpost->body=$request->body;$userpost->sav后它返回nulle();
在这种情况下我也必须使用compact吗?因为这是一个完全不同的问题,我认为你应该把它作为一个单独的主题,我很乐意在那里回答你