我有一个logController
,其show()
方法。在我的show()
方法中,我返回从数据库中检索的单个数据。
$report = Log::select('logs.id')
->where('logs.id', '=', '1')
->get();
// event(new NewLog($report));
return $report;

在这种情况下,返回值为1
。我也期待将数据发送到Pusher将与查询结果相同。但是发送给Pusher的数据是id, user_id
,date`等。我只想发送我提取的单个数据,即logs.id。
这是我的NewLog活动:
class NewLog implements ShouldBroadcast
{
public $log;
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($log)
{
$this->log = $log;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new Channel('logs');
}
}

答案 0 :(得分:1)
你可以直接在Log上使用find()静态函数。 return $ report会给你object.if你想访问该对象的属性使用$ report-> property_name;
尝试使用以下代码:
$report = Log::find(1);
$event = event(new NewLog($report->id));
return $report->id;
OR
$report = Log::select('logs.id')
->where('logs.id', '=', '1')
->get();
// event(new NewLog($report->id));
return $report;