Laravel - 如何将函数的返回存储到数据库中?

时间:2017-10-18 10:41:48

标签: database laravel function model-view-controller

我是Laravel的新手。我在将数据存储到数据库时遇到问题。我有这个例子:

create.blade.php

{!! Form::open(['action' => 'WebsitesController@store', 'method' => 'POST']) !!}
    <div class="form-group">
      {{Form::label('url', 'URL')}}
      {{Form::text('url', '', ['class' => 'form-control', 'placeholder' => 'URL'])}}
    </div>
    {{lol()}}
    {{Form::submit('Submit', ['class'=>'btn btn-primary'])}}
  {!! Form::close() !!}

WebsitesController.php

public function store(Request $request)
    {
      $this->validate($request, [
        'url' => 'required'
      ]);

      $website = new Website;
      $website->path = $request->input('url');
      $website->user_id = auth()->user()->id;
      $website->save();
    }

这很有效。现在我想要而不是从输入中获取url以从函数中获取它。让我们说我有这样的功能:

function testurl(){
    return "http://test.com/";
}

我在哪里放置功能码?我如何获得$ website-&gt;路径来存储该函数的返回值?

谢谢。

2 个答案:

答案 0 :(得分:0)

Website()是你的模特。您可以将功能存储在模型中。所以你可以直接从你的模型中调用它。

答案 1 :(得分:0)

您可以在控制器中定义您的功能,如

    public function testUrl(){
    return "http://test.com/";
    }

如果你在同一个控制器中调用它,你可以

$url = $this->testUrl();

如果您从其他控制器拨打电话,则可以

$url = $yourController->testUrl();

然后您可以直接设置

$website->path=$url