2016-10-03 3 views
0

Я смог успешно создать записи в таблице, которая не имеет внешних ключей, но продолжает работать с ошибкой «Поле не может быть изменено» при попытке установить внешний ключ на таблице с иностранным ключ к первой таблице. Каков правильный способ установки внешнего ключа в таблице через PHP API?Filemaker Внешний ключ PHP

$data = array(
    "_fk_LeadID" => '24', 
    "Date" => "12/12/2016", 
    "Result" => "Still Investigating", 
    "Sales_Rep" => "Joe", 
    "Time" => "9:00PM" 
); 

$rec = $fm->createRecord('Appointments', $data); 
$result = $rec->commit(); 

if (FileMaker::isError($result)) { 
    echo "<p>Error: " . $result->getMessage() . "</p>"; 
    exit; 
} 

Я просматривал документацию PHP и упомянул порталы, но у меня не было одной установки на этих таблицах, так не в состоянии использовать их. Каков правильный способ установки внешнего ключа на таблицу?

ответ

0

Ваш код в порядке, и проблема не связана с PHP. FileMaker PHP не имеет специальных функций для создания внешних ключей или даже первичных ключей. Так что проблема связана с сервером FileMaker Server.

У вас есть ошибка, когда одно из полей не подлежит изменению. Скорее всего, это поле вычисления (столбец, заполненный триггером). Я попытался бы установить поля вручную в FileMaker и посмотреть, не дает ли он вам такую ​​же ошибку (я подозреваю, что это так).

Если вы не можете использовать FileMaker, создайте запись только с _fk_LeadID и посмотрите, есть ли ошибка, а затем добавьте одно поле в это время. Поле, которое выдает ошибку, вероятно, является вычислением. Например. Дата и время могут быть автоматически заполнены датой и временем создания записи.

+0

Ошибка, по-видимому, вызвана опцией «Запретить модификацию значения во время ввода данных». Есть ли способ создать запись с этим параметром? – Justin

+0

Вы можете отключить его, но, скорее всего, это не так. Не пытайтесь установить этот столбец в свой код. Скорее всего, он будет заполнен правильным значением. –

Смежные вопросы