目前正在构建一个API.我正在处理一个更新函数,除了传入的请求.所以:api.dev.com/?api_key = asdf&storeid = 2等
现在在后端我接受请求然后我试图写一些逻辑来检查请求是否包含storeid然后更新该条目等.
但是,当我写我的逻辑时,我做到了
if(isset($request->storeid))
$store->id = $request->storeid;
Run Code Online (Sandbox Code Playgroud)
如果我在put请求中没有包含storeid,那么我得到:
Call to a member function parameter() on a non-object
Run Code Online (Sandbox Code Playgroud)
因为它不存在.我接近以错误的方式写这个逻辑吗?
我想让用户更新他们想要的记录.因此,他们不应该在请求中包含所有变量.只是需要更新的那些.
CITTI
因此,我使用 Laravel 5.4 构建了一个小型 URL 缩短器,其中有一个路由:domain.com/{urlkey} - 我获取密钥并在 Redis 中的 Laravel 缓存中查找它。我还有另一个密钥来跟踪访问次数 - 因此每当访问 URL 时我只需增加 :visits 键。
现在我注意到,当我将其中一个 URL 复制并粘贴到新选项卡中时...或者甚至从我的应用程序中单击它时,它会完全忽略我的代码。我可以放入 die(),它甚至不会停止!这永远不会触发键上的缓存增量......
有什么想法吗?可能遗漏了一些非常明显的东西。
简单的查找和增量如下:但我什至不认为它击中了代码?为什么会这样呢?
其他注意域是 https - 但是我已经在 http 和 https 上对此进行了测试
// retrieve redirect URL from cache
$redirectUrl = Cache::get('short:' . $shortKey);
// if we find the redirect in the cache - increment visits - 301 redirect
if($redirectUrl)
{
Cache::increment('short:' . $shortKey . ':visits', 1);
return redirect($redirectUrl, 301);
}
Run Code Online (Sandbox Code Playgroud) 遇到作曲家的问题,我正在尝试运行标准的laravel安装:
composer create-project --prefer-dist laravel/laravel blog
Run Code Online (Sandbox Code Playgroud)
但它一直在尝试安装:
Installing laravel/laravel (v5.5.28)
Run Code Online (Sandbox Code Playgroud)
我尝试过以下方法:
composer clear-cachecomposer self-updaterm -rf vendor,clear-cache,composer install似乎没有什么工作...任何想法为什么作曲家陷入这个古老的状态?