我正在尝试在我的 Ubuntu 20.04.3 LTS 桌面上使用最新版本的 laravel sail 设置 xdebug,
即
PHP 8.1
Laravel 9
.env 文件包含以下提到的详细信息
SAIL_XDEBUG_MODE=develop,debug
SAIL_XDEBUG_CONFIG="client_host=172.23.0.1"
Run Code Online (Sandbox Code Playgroud)
但当我跑步时sail debug migrate,返回
Xdebug: [Step Debug] Time-out connecting to debugging client, waited: 200 ms. Tried: 172.23.0.1:9003 (through xdebug.client_host/xdebug.client_port)
当我尝试查找 IP 时,每次
docker inspect -f {{range.NetworkSettings.Networks}}{{.Gateway}}{{end}} <container-name>
返回不同的 IP(例如 172.25.0.1)时它都会发生变化
我Customer DataObject通过扩展创建了一个Member. 与 aCustomer有many_many数据关系Package DataObject。
我想Credits在基于表中的字段通过 CMS 链接/取消链接Customer DataObjecta 时增加/减少一个字段。PackageLimitPackage
顾客
class Customer extends Member {
private static $db = array(
'Gender' => 'Varchar(2)',
'DateOfBirth' => 'Date',
'Featured' => 'Boolean',
'Credits' => 'Int'
);
private static $many_many = array(
'Packages' => 'Package'
);
public function getCMSFields() {
$fields = new FieldList();
$config = GridFieldConfig_RelationEditor::create();
$config->removeComponentsByType('GridFieldAddNewButton');
$packageField = new GridField(
'Packages',
'Package',
$this->Packages(),
$config …Run Code Online (Sandbox Code Playgroud) 我有'Resouce'数据对象如下所示,附件为has_one关系.我想在删除'resource'对象时删除附件.
但我得到的是致命错误:在非对象上调用成员函数delete()
<?php
class Resource extends DataObject
{
private static $db = array (
'Name' => 'Varchar(200)',
'Description' => 'Text',
'Category' => "Enum('Data, Drafts, Drawings, Reports, Images, Other')",
'SortOrder' => 'Int'
);
private static $has_one = array (
'Attachment' => 'File',
'ResourcePage' => 'ResourcePage'
);
public function onBeforeDelete()
{
$myAttachment = $this->Attachment();
$file = DataObject::get_by_id('File', $myAttachment->ID); //we have to make sure it is a Dataobject object
$file->delete();
$file->destroy();
return parent::onBeforeDelete();
}
}
Run Code Online (Sandbox Code Playgroud)