如何从另一个控制器获取模型的当前ID?

Francisunoxx

我正在尝试id使用其他控制器获取模型的模型,因此可以将sync其添加到数据透视表中。我可以id使用此模型。

class DocumentController extends Controller
{
//READ
public function readDocuments($id)
{
    //Find the document in the database and save as var.
    $document = Document::find($id);
    $getId = $document->id;

    echo $getId;
}
}

但是,当我尝试id从另一个控制器获取时,它给我一个错误。

CommentController.php第18行中的ErrorException:App \ Http \ Controllers \ CommentController :: postComments()缺少参数2

这是我的控制器,用于获取当前模型。我可以var $getId从其他控制器访问吗?有任何提示如何获取id模型的最新信息?

class CommentController extends Controller
{

    public function postComments(Request $request, $id)
    {

        $this->validate($request,
        [
            'comment' => 'required',
        ]);

        $commentObject = new Comment();
        $documentObject = Document::find($id);//GET THE CURRENT ID OF THE (MODEL) DOCUMENT
        $aa = $documentObject->id;

        echo $aa;       

        $commentObject->comment = $request->comment;
        $commentObject->save();
    }
}

视图:

<!--DOCUMENT CONTROLLER-->
<div class = "col-md-6">

    <div class = "form-group">

        <textarea id = "content">{{ $document->content }}</textarea>

    </div>

    <div class = "form-group">

        <button type = "submit" class = "btn btn-success">Approve</button>

    </div>
</div>

<!--COMMENT CONTROLLER-->
<div class = "col-md-6">
    <form class = "form-vertical" method = "post" action = "{{ route ('comments') }}">

        <div class = "form-group {{ $errors->has('comment') ? ' has-error' : '' }}">

            <label for = "comment">Comment:</label>
            <textarea class = "form-control" rows = "4" id = "comment" name = "comment" placeholder = "Leave a feedback"></textarea>

            @if ($errors->has('comment'))
                <span class = "help-block">{{ $errors->first('comment') }}</span>
            @endif

        </div>

        <div class = "form-group">

            <button type = "submit" class = "btn btn-primary">Comment</button>

        </div>

        <input type = "hidden" name = "_token" value = "{{ Session::token() }}">

    </form>
</div>

更新

我试图通过$id我的职能。但是当我检查它时。它说。当我尝试$id在参数中传递时,发生了此错误

CommentController.php第19行中的ErrorException:App \ Http \ Controllers \ CommentController :: postComments()缺少参数2

CommentController:

 public function postComments(Request $request, $id)
{

    $this->validate($request,
    [
        'comment' => 'required',
    ]);

    $commentObject = new Comment();
    $documentObject = Document::find($id);//GET THE CURRENT ID OF THE (MODEL) DOCUMENT

    echo $documentObject;

    $commentObject->comment = $request->comment;
    $commentObject->save();
}

我试过了die and dump$documentObject但是什么也没打印。

路线:

//FOR DOCUMENT CONTROLLER

Route::get('/document/{id}',
[
    'uses' => '\App\Http\Controllers\DocumentController@readDocuments',
    'as' => 'document.read',
    'middleware' => 'auth',
]);

//FOR COMMENT CONTROLLER

Route::post('/comments',
[
    'uses' => '\App\Http\Controllers\CommentController@postComments',
    'as' => 'comments',
]);

更新1:

//DocumentController

Route::get('/document/{id}',
[
    'uses' => '\App\Http\Controllers\DocumentController@readDocuments',
    'as' => 'document.read',
    'middleware' => 'auth',
]);

//CommentController

Route::post('/document/{id}/comments',
[
    'uses' => '\App\Http\Controllers\CommentController@postComments',
    'as' => 'comments',
]);

视图:

<!--COMMENT CONTROLLER-->
<div class = "col-md-6">
    <form class = "form-vertical" method = "post" action = "{{ route ('/comment/{id}') }}">

        <div class = "form-group {{ $errors->has('comment') ? ' has-error' : '' }}">

            <label for = "comment">Comment:</label>
            <textarea class = "form-control" rows = "4" id = "comment" name = "comment" placeholder = "Leave a feedback"></textarea>

            @if ($errors->has('comment'))
                <span class = "help-block">{{ $errors->first('comment') }}</span>
            @endif

        </div>

        <div class = "form-group">

            <button type = "submit" class = "btn btn-primary">Comment</button>

        </div>

        <input type = "hidden" name = "_token" value = "{{ Session::token() }}">

    </form>
</div>

但是它无法识别我注册的路线。它总是说。

路由[/ comment / {id}]未定义。(视图:C:\ Users \ JohnFrancis \ LaravelFrancis \ resources \ views \ document \ read.blade.php)

萨满

laravel可以找到自动文档:这样定义路由:

Route::post('/document/{document}/comments',
[
'uses' => '\App\Http\Controllers\CommentController@postComments',
'as' => 'comments',
]);

并在控制器中:

public function postComments(Request $request, Document $document)

laravel自动获取文档。

将表单动作设置为:

http://www.ADDRESS.com/document/2/comments

向ID为2的文档发送评论

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取插入对象的当前ID并传递给另一个控制器

如何从 Rails 中的另一个控制器获取帖子的 ID?

如何获取ID以在控制器laravel中的另一个函数中使用

如何批量获取另一个驱动器的当前工作目录?

如何在控制器中访问另一个模型中的角度模型?

如何使用属于另一个模型的模型的控制器的索引动作?

如何从另一个控制器更新控制器的ng-repeat模型?

如何从另一个控制器修改模型(没有控制器)的表?

如何在另一个模型的控制器操作中初始化一个模型?

如何观看但只更新来自另一个控制器的事件的模型

如何从带有控制器的页面到带有不同控制器的另一个页面获取 id

如何在Rails中将数据从一个模型/控制器发送到另一个模型/控制器

从 TableViewCell 行获取当前子 ID 到另一个视图控制器并通过添加新字段更新此子 ID

如何集成测试控制器,该控制器内部的方法从另一个站点获取令牌

使用“ ui-router”时如何从另一个控制器获取参数?

如何从Laravel控制器中的另一个站点获取响应

使用另一个模型过滤一个控制器的内容(AngularJS)

将模型从一个控制器传递到另一个

如何通过重定向URL将模型属性对象的值从一个控制器传递到另一个控制器

在AngularJS中,如何将一个控制器的模型与另一个控制器的数据绑定?

从一个视图模型的当前实例的另一个实例中获取属性的值

如何从控制器动作中调用另一个控制器动作?

如何从Mvc中的控制器调用另一个控制器操作

如何通过控制器返回另一个控制器的局部视图?

如何从另一个控制器访问需求控制器?

Rails:基于另一个模型的控制器中的参数创建新模型

laravel 5.7 如何将一个控制器的变量 id 传递给另一个

如何使用 getx 在颤振中的一个控制器中获取另一个控制器的变量

如何在angularjs中从一个控制器动态获取数据到另一个控制器?