我试图用"DROP TABLE"命令删除几个表但由于一个未知的原因,该程序只是"坐"并且不删除我想要它在数据库中的表.
我在数据库中有3个表:
产品,账单和账单_产品,用于参考账单中的产品.
我设法删除/删除产品,但我不能对bill和Bill_Products做同样的事情.我发出相同的"DROP TABLE Bill CASCADE;"命令,但命令行只是停止.我也使用了没有CASCADE选项的简单版本.
你知道为什么会这样吗?
更新:
我一直在想数据库可以保留从产品到账单的一些参考,也许这就是为什么它不会删除Bill表.
所以,就此而言,我发布了一个简单的SELECT * from Bill_Products,经过几十(10-15)秒(奇怪的是,因为我不认为它持续这么长时间,当有一个空表是正常的)它打印出表和它的内容,没有.(显然,从产品到比尔没有任何参考).
我正在使用Laravel构建API,并希望使用Laravel Notifications系统发送推送通知.我有一个匹配模型(基本上是一个帖子),另一个用户可以喜欢这个匹配.当喜欢匹配时,帖子的创建者将获得推送通知.它就像Instagram,Facebook等.
推送通知通常不会发送给用户.我安装了Laravel Horizon以查看是否存在错误.有时通知是发送的,有时则不是.使用完全相同的数据:
通知有时会使用完全相同的数据(相同的用户,相同的匹配)失败.
错误如下:
Illuminate\Database\Eloquent\ModelNotFoundException:/home/forge/owowgolf.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:312中的模型[App\Models\Match] 118没有查询结果
我确定匹配和用户存在于数据库中,我在发送通知之前已经验证过.有人知道出了什么问题吗?我在网上找到的一切都是人们在将通知发送到队列之前没有保存他们的模型.但是,如果模型不存在,则甚至无法到达代码将通知发送到队列中的行.由于路由/控制器中的隐式绑定.
控制器方法:
/**
* Like a match.
*
* @param \App\Models\Match $match
* @return \Illuminate\Http\JsonResponse
*/
public function show(Match $match)
{
$match->like();
$players = $match->players()->where('user_id', '!=', currentUser()->id)->get();
foreach ($players as $user) {
$user->notify(new NewLikeOnPost($match, currentUser()));
}
return ok();
}
Run Code Online (Sandbox Code Playgroud)
通知:
<?php
namespace App\Notifications;
use App\Models\Match;
use App\Models\User;
use Illuminate\Bus\Queueable;
use NotificationChannels\Apn\ApnChannel;
use NotificationChannels\Apn\ApnMessage;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
class NewLikeOnPost extends Notification implements ShouldQueue
{
use Queueable;
/**
* The match instance.
* …Run Code Online (Sandbox Code Playgroud) 我正在尝试查看我的 PostgreSQL 数据库中特定表上发生的锁。
我看到有一个表叫 pg_locks
select * from pg_locks;
Run Code Online (Sandbox Code Playgroud)
这似乎给了我一堆列,但是否有可能找到关系,因为我看到其中一个列是关系 oid。
我必须将它链接到哪个表才能获得关系名称?