小编Wil*_*tes的帖子

如何使用 Knex.js 添加复合主键?

我有2张桌子。1 调用带有事件 ID 的事件和另一个称为票证的表,我希望它具有事件 ID 和票证 ID 的主键。我也在使用 PostgreSQL 数据库。目前,我将它作为外键,但希望将它作为带有票证 ID 的票证表中的主键。

knex.schema.createTable('events', function (table) {
    table.increments('id');
    table.string('eventName');
});

knex.schema.createTable('tickets', function (table) {
    table.increments('id');
    table.string('ticketName');

    table.foreign('tickets').references('events_id').inTable('events');
});
Run Code Online (Sandbox Code Playgroud)

postgresql composite-primary-key knex.js

11
推荐指数
2
解决办法
9504
查看次数

Laravel Eloquent :: Find()使用现有ID返回NULL

这很简单,因为它是最基本的东西,但我不知道我错过了什么:

有一个模型叫 Site

我正在使用Eloquent ORM,所以当我打电话时(在控制器中)

$oSite = Site::find(1)
Run Code Online (Sandbox Code Playgroud)

然后

var_dump($oSite);
Run Code Online (Sandbox Code Playgroud)

它返回一个值NULL.

但是当我检查数据库时,表'sites'实际上包含以下项目:

id: 1
user_id: 1
name: test
Run Code Online (Sandbox Code Playgroud)

在我的Site 模型中,我有以下代码:

use Illuminate\Database\Eloquent\ModelNotFoundException;

 Class Site extends Eloquent {

        protected $table = 'sites';

        protected $fillable = ['user_id', 'name'];
 }
Run Code Online (Sandbox Code Playgroud)

相反,如果我收集以下项目:

$oSite = DB::table('sites')
                ->where('id', 1)
                ->first();
Run Code Online (Sandbox Code Playgroud)

它工作正常,我得到了正确的注册.

我做错了什么?我没有得到哪部分文件?

编辑:

可以在上面检查模型代码.

控制器:

use Illuminate\Support\Facades\Redirect;
class SiteManagementController extends BaseController {

...

    public function deleteSite()
    {
        if (Request::ajax())
        {
            $iSiteToDelete = Input::get('siteId');

            $oSite = Site::find($iSiteToDelete);

            return var_dump($oSite);
        }
        else
        { …
Run Code Online (Sandbox Code Playgroud)

php orm find laravel eloquent

9
推荐指数
1
解决办法
2万
查看次数

创建多个文件的 zip 并在 laravel 中下载

我正在使用以下代码来制作 zip 并允许用户下载 zip

但它不起作用。它显示错误为 ZipArchive::close(): Read error: Bad file Descriptor。可能是什么问题?我正在使用 laravel。

public function downloadposts(int $id)
{
    $post = Post::find($id);


    // Define Dir Folder
    $public_dir = public_path() . DIRECTORY_SEPARATOR . 'uploads/post/zip';
    $file_path = public_path() . DIRECTORY_SEPARATOR . 'uploads/post';
    // Zip File Name
    $zipFileName = $post->post_title . '.zip';
    // Create ZipArchive Obj
    $zip = new ZipArchive();
    if ($zip->open($public_dir . DIRECTORY_SEPARATOR . $zipFileName, ZipArchive::CREATE) === TRUE) {
        // Add File in ZipArchive
        foreach ($post->PostDetails as $postdetails) {
            $zip->addFile($file_path, $postdetails->file_name);
        }
        // Close …
Run Code Online (Sandbox Code Playgroud)

laravel

8
推荐指数
2
解决办法
4万
查看次数

PhpDoc:受保护的属性

是否可以使用 PhpDoc 声明protectedprivate类@property?

/**
  * Class Node
  * @package app\models
  * @property string $name
  */
class Node
{

}
Run Code Online (Sandbox Code Playgroud)

php phpdoc

5
推荐指数
1
解决办法
2102
查看次数