我正在与 yii2 合作制作一个基本网站。
我需要在用户登录后加载他们喜欢的视频。
在数据库中,视频存储在视频表中,用户存储在用户表中,UserVideoJunction 是存储用户和视频之间关系的连接表。
当我使用 Gii 为 3 个表生成模型和 CRUD 时,一切都很好,我可以访问和操作所有数据。
但是当我尝试获取与用户相关的视频时出现问题。
public function getUservideojunctions()
{
return $this->hasMany(Uservideojunction::className(), ['UserID' => 'UserID']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getVideos()
{
return $this->hasMany(Video::className(), ['P_ID' => 'VideoID'])->viaTable('UserVideoJunction', ['UserID' => 'UserID']);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码是自动生成的代码。
有人能告诉我如何显示getVideos()函数返回的内容吗?
首先,这是代码:
const FS = require('fs');
const OS = require('os');
const symlinkType = OS.platform() === 'win32' ? 'junction' : 'file';
FS.symlink(target, path, symlinkType, err => {
if(err) {
console.error(`Failed to create ${symlinkType} ${path} -> ${target}`);
} else {
console.log(`Created ${symlinkType} ${path} -> ${target}`);
}
})
Run Code Online (Sandbox Code Playgroud)
这会输出一堆这样的消息:
Created junction C:\Users\Mark\*snip*\data\Pacific\Midway.txt -> C:\Users\Mark\*snip*\data\Pacific\Pago_Pago.txt
Created junction C:\Users\Mark\*snip*\data\Pacific\Samoa.txt -> C:\Users\Mark\*snip*\data\Pacific\Pago_Pago.txt
Created junction C:\Users\Mark\*snip*\data\Pacific\Ponape.txt -> C:\Users\Mark\*snip*\data\Pacific\Pohnpei.txt
Run Code Online (Sandbox Code Playgroud)
所以看起来它正在工作。我可以在资源管理器中看到路口/快捷方式:

但它们都坏了。即,双击它们会给我一条错误消息
Cuba.txt 无法访问。
文件名、目录名或卷标语法不正确。
怎么会?如何在 Windows 上的 Node.js 中创建符号链接,以便文件正常工作(即其他程序可以读取它们)。
cygwin(1.7.x)是否了解Windows NTFS交接点(由Win7/2008中的mklink或sysinternals的junction.exe创建)?
它们与"ln -s"创建的符号链接有何不同?
我想编写一个程序,显示带有硬链接的其他驱动器的文件.我想保持两个硬链接在文件名和其他内容一致,所以我必须得到一个函数/方法,我可以列出文件的所有当前硬链接.
例如:
我有一个文件C:\ file.txt和第二个到D:\ file.txt的硬链接.
然后我将D:\ file.txt重命名为D:\ file_new.txt.我现在也希望能够重命名C驱动器上的硬链接.
所以我需要一个返回D:\ file_new.txt的函数,有以下
硬链接:
C:\ file.txt
D:\ file_new.txt
然后我可以重命名C:\上的硬链接来获取D:\ file_new .文本
所以我需要获取物理文件的所有硬链接.或者:使用硬链接寻址的文件的所有硬链接.
希望有人可以帮忙!
编辑:
Oliver注意到硬链接不能用于不同的磁盘.谢谢...所以我把问题扩展到:我需要什么?交汇点?符号链接?它还应该不仅与文件夹的文件一起使用!
是否可以配置 aFileSystemWatcher以查看与文件夹连接点链接的其他文件夹?
例如:
你在看 D:
你有 D:\junction 指向 E:\folder
当我在 E:\folder\file.txt 中创建一个文件时,我想在观察者中看到它作为 D:\junction\file.txt。
这可能吗?
谢谢。