Php Laravel从数据库中获取数据,ID来自唯一URL
我有一个简单的问题,但对我来说很难解决 excel中的My Addin创建唯一URL,并使用数据(Php Laravel从数据库中获取数据,ID来自唯一URL,php,database,laravel,routes,Php,Database,Laravel,Routes,我有一个简单的问题,但对我来说很难解决 excel中的My Addin创建唯一URL,并使用数据(param1,mobile\u number,message)发送到Laravel API。主标识符是param1 Laravel路线 Route::get('/{param1}', 'SendSmsController@index')->name('sendSms'); 数据库 id | param1 | mobile_number | message | ------
param1
,mobile\u number
,message
)发送到Laravel API。主标识符是param1
Laravel路线
Route::get('/{param1}', 'SendSmsController@index')->name('sendSms');
数据库
id | param1 | mobile_number | message |
----------------------------------------------------------
1 | abc | 123456789 | Hi there |
我的目标是打开URLhttps://my.web.com/abc
我的手机收到了一条储存在数据库中的带有信息的短信
但问题是如何在controller
my$mobile\u number
中识别URL中的param1
当我用dd($param1)
getabc
打开URL时
有没有办法从数据库中获取其他列
laravel控制器
public function index($param1)
{
return view('login')->with('param1'=>$param1);
}
首先将路线方法更改为Post,然后将您的手机号码或id发送到路线
// inside web.php
Route::post('/{param1}', 'SendSmsController@index')->name('sendSms');
在控制器中
public function index(Request $request)
{
// if you send id
$mobile_number = Model::find($request->id)->mobile_number;
// if you send mobile_number
$mobile_number = Model::where('mobile_number', $request->mobile_number)->first();
// the logic to send SMS to $mobile_number
}
首先,您需要在您的路由之前添加“代码> > PARAM1之前的任何前缀,因为任何路由将匹配该参数,详情请参阅此路由,我们将考虑此路由
Route::get('send/sms/{param1}', 'SendSmsController@index')->name('sendSms');
其次,从route参数获取记录有两种方法
你可以这样做
如果您的param1
是唯一的,您可以添加到您的Sms
型号中
现在在控制器中,您可以执行以下操作
public function index(Sms $param1)
{
// now you can access mobile_number,message from $param1 instance
}
/{param1}
不好,因为每一条路径都会与此匹配。@当我将路径
更改为post CONT displayURL
时,请确认是否有其他方法可以做到这一点?当你说“无法显示URL”时,我不明白。你能解释一下吗please@Zack将get
更改为post
返回此错误:405方法不允许
ok第二种方法有效,$sms=sms::where('param1',$param1)->first()
dd($sms)
返回包含数据库中所有数据的数组。我怎么能把它们卖给varialbles$mobile\u number=?
谢谢您可以执行提取($sms->toArray())
现在您将有4个变量代表每个键,$id
,$param1
,$mobile\u number
和$message
。
/**
* Get the route key for the model.
*
* @return string
*/
public function getRouteKeyName()
{
return 'param1';
}
public function index(Sms $param1)
{
// now you can access mobile_number,message from $param1 instance
}