Laravel - 如何将函数的返回存储到数据库?
问题描述:
我是Laravel的新手。我在将数据存储到数据库时遇到问题。我有这样的实例:Laravel - 如何将函数的返回存储到数据库?
create.blade.php
{!! Form::open(['action' => '[email protected]', '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->路径来存储该函数的返回值?
谢谢。
答
可以在控制器定义功能像
public function testUrl(){
return "http://test.com/";
}
,如果你是在同一个控制器调用它,你可以做
$url = $this->testUrl();
,如果你是从其他控制器打电话,你可以做
$url = $yourController->testUrl();
然后,您可以直接设置
$website->path=$url
答
Website()
是你的模型。您可以将您的功能存储在模型中。所以你可以直接从模型中调用它。
+0
您应该发布样本/伪代码 –
谢谢。还有一个问题。为什么我需要网站模型? –
Laravel附带的Eloquent ORM为您的数据库提供了一个简单的ActiveRecord实现。每个数据库表都有一个对应的“模型”,用于与该表进行交互。模型允许您查询表中的数据,并将新记录插入表中。 –
@AarifAslam,只是分享一个良好的做法。使这个'testUrl'方法'私人'。 –