2016-10-03 4 views
0

外部キーを持たないテーブルにレコードを正常に作成できましたが、外部キーを持つテーブルに外部キーを設定しようとすると「フィールドは変更できません」というエラーが発生しています最初のテーブルのキー。 PHP APIを使用してテーブルに外部キーを設定する正しい方法は何ですか?私はPHPのドキュメントを見た、それはポータルを述べたが、私はこれらのテーブルに1つのセットアップを持っていなかった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; 
} 

ので、それらを使用することができませんでした。テーブルに外部キーを設定する正しい方法は何ですか?

答えて

0

あなたのコードは問題なく、問題は実際にPHPに関連していません。 FileMaker PHPには、外部キーやプライマリキーを作成するための特別な機能はありません.SoftwareMaker Server側の問題です。

フィールドの1つが変更できないというエラーがあります。おそらくそれは計算フィールド(トリガーによって設定された列)です。私はFileMakerでフィールドを手動で設定しようとしていて、それがあなたに同じエラーを与えるかどうかを確かめます(私はそう思っています)。

FileMakerを使用できない場合は、_fk_LeadIDのみでレコードを作成し、エラーがあるかどうかを確認してから、その時点で1つのフィールドを追加してください。おそらくエラーを投げるフィールドは計算です。例えば。日付と時刻は、レコードが作成された日付と時刻を自動入力することができます。

+0

エラーは、 "データ入力時に値の変更を禁止します"というオプションが原因であるようですが、この設定でレコードを作成する方法はありますか? – Justin

+0

あなたはそれをオフにすることができますが、おそらく理由のためにそこにあります。コードでこの列を設定しないでください。ほとんどの場合、正しい値が入力されます。 –