小编Roi*_*Roi的帖子

棘轮:仍在连接状态

我是这个websocket的初学者,我正在为我的第一个项目尝试这个棘轮.

我已经在http://socketo.me中通过在命令提示符中执行此命令完成了安装教程

composer require cboden/ratchet

之后,它会自动生成vendor一个包含几个库的文件夹,并在主路径a composer.jsoncomposer.lock

然后我创建了一个chat.php文件并从棘轮git上的快速示例中复制了代码:

<?php
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;

    // Make sure composer dependencies have been installed
    require __DIR__ . '/vendor/autoload.php';

/**
 * chat.php
 * Send any incoming messages to all connected clients (except sender)
 */
class MyChat implements MessageComponentInterface {
    protected $clients;

    public function __construct() {
        $this->clients = new \SplObjectStorage;
    }

    public function onOpen(ConnectionInterface $conn) {
        $this->clients->attach($conn);
    }

    public function onMessage(ConnectionInterface $from, $msg) {
        foreach ($this->clients as …
Run Code Online (Sandbox Code Playgroud)

javascript php websocket composer-php ratchet

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

Laravel:控制器对 ajax 请求的正确响应是什么?

我在返回对我发出的 ajax 请求的正确响应时遇到问题。

基本上,我有一个checkboxchanged()触发 ajax 并被csrf-token接受时POST method,数据库上反映的更改是成功的,但在将进程的“状态”返回到 ajax 时开始出现错误。

这是我的控制器方法:

public function update(Request $request, $id)
  {
      $result = ItemPrice::toggleRestockable($id);

      return $result;
  }
Run Code Online (Sandbox Code Playgroud)

$result的输出是DB::update() method

无论查询是否成功,ajax 都会error:阻塞。Internal Server Error 500

ajax中的ofresponseText变量data主要是:

(1/1) UnexpectedValueException
The Response content must be a string or object implementing __toString(), "boolean" given.
Run Code Online (Sandbox Code Playgroud)

现在我知道我正在返回boolean或从技术上讲是一个整数,因为它的结果是DB::update()返回受update.

现在我怎样才能正确返回 ajax 可以理解的响应呢?

ajax laravel

3
推荐指数
1
解决办法
8387
查看次数

Laravel DB::rollback() 不适用于事务处理

首先,我的引擎是 innoDB,我已经在 mySQL 上尝试了以下操作:

BEGIN;
INSERT INTO `tbl_users`(...) VALUES (...)
ROLLBACK();
Run Code Online (Sandbox Code Playgroud)

它工作正常,这意味着问题不在我的 mysql 配置中。

但是当我在 Laravel 模型上尝试这个时:

public static function addNew($request, $department_id) {

    $result = array();

    $now = Carbon::now();

    DB::beginTransaction();

    //Checking for existing Order to set appropriate starting ID
    $result = DB::select("
        SELECT COUNT(`id`) AS 'count'
        FROM `tbl_consignmentorders`
    ")[0];

    if($result->count == 0){
        DB::update("ALTER TABLE `tbl_consignmentorders` AUTO_INCREMENT = 70000000001;");
    }

    try {
        //INSERT
        DB::insert("
            INSERT INTO `tbl_consignmentorders`
            (`from`, `to`, `status`, `created_at`, `updated_at`) 
            VALUES 
            (?, ?, ?, ?, ?)",
            [
                $department_id,
                strtoupper($request->input('supplier')), …
Run Code Online (Sandbox Code Playgroud)

database transactions laravel laravel-5.5

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